LINE WORKS Developers

コミュニティ

LINE WORKSのテクニカルエキスパート及び開発者と
コードのサンプル、リソース、Tip等を共有し問題解決への相談が可能です。

??dev_메인_타이틀_모바일_ja_JP??

トークBot

errorMessage":"Malformed json parameter","errorCode":"089について

画像

深澤佑樹

2018.10.25既読 293

ID登録タイプの認証方式を利用して、googleappsscriptより送信機能を実装しておりますが、表題のエラーが返ってきます。

認証サーバより正常にtokenの取得はできているのですが、メッセージが送信できません。

 

以下のコードで実装しておりますが、形式が間違っていますでしょうか?

 

=====以下コード=====

var headers = 

   {

    "consumerKey":XXXXX(ServerAPIConsumerKey),

    "Authorization":"Bearer " + XXXXXX(認証サーバから取得したtoken),

    "Content-Type":"application/json",

    "charset":"UTF-8"

   };

var payload = { 

    "botNo":XXXX,

    "accountId":"XXXXXXX@XXXXXXXXX",

    "content":{

        "type":"text",

        "text":"テスト送信"

    }

}

var options = { 

  "headers": headers,

  "method" : "POST",

  "payload" : payload

}  

UrlFetchApp.fetch("https://apis.worksmobile.com/XXXXXX(APIID)/message/sendMessage/v2", options); 

コメント5

  • 画像

    LINE WORKS 公式アカウント

    headersの内容を下記のように書き換え、再実行してみて頂けますか?

    -----------------------------------------------------------------------
    var headers =

      {

       "consumerKey":XXXXX(ServerAPIConsumerKey),

       "Authorization":"Bearer " + XXXXXX(認証サーバから取得したtoken),

       "Content-Type: application/json; charset=UTF-8"

      };

    参考:https://developers.worksmobile.com/jp/document/100500801?lang=ja

    2018.10.25

    0
  • 上記のように書き換えてみましたが、同様のエラーが返ってきます。
    誤字脱字等の見直しを何回も行いましたが、ダメみたいです。認証サーバからtokenは取得出来ているので、POST送信自体は問題ないと思うのですが...
    ※ちなみに、Advanced REST clientより同様のデータをpostしたら送信できました。

    他の要因等ありましたらご教授ください。

    2018.10.26

    0
  • 通りすがりにすみません。見たところ、payloadがJSONエンコードされてないのが原因ではないかと。。
    ------------
     var options = {
       "headers": headers,
       "method" : "POST",
       "payload" : JSON.stringify(payload)
     }
    ------------
    違ったらごめんなさいね。

    2018.10.26

    0
  • JSONエンコードしたら出来ました。
    初歩的な質問で申し訳ないですm(--)m
    ご回答ありがとうございました。

    2018.10.26

    0
  • いえいえ、無事に解決したようで何よりです〜

    2018.10.26

    0