@Terako (Tomohiko Saito)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

FilemakerとLINE MessengerAPIを用いた連携について

FilemakerからLINEへレコード内容を送信する方法

Filemaker cloudを用いて自前でシステムを構築している者です。
Filemakerに記録した内容(レコード)をLINE MessengerAPIを使用し、個別のLINEに送る仕組みを構築したいのですが、うまくいきません。
具体的には、顧客へその日の相談内容の記録を、LINEへ送付できるシステムを構築したいと思っています。

現在起きている問題 

Filemakerのレコード内容をcURLを使用してLINE個別IDへ送信したいが、以下のメッセージがでてしまいます 
{"message":"The request body could not be parsed as JSON (line: 1, column: 7)"}

スクリプトは以下のとおりです

「URLから挿入」を選択、ターゲットはレコード内の内容をしています。
URLは"https://api.line.me/v2/bot/message/push"に指定。
さらにcURLオプションを以下のように指定しています。

"curl -v -X POST https://api.line.me/v2/bot/message/push "

 & 

"--header \"Content-Type:application/json\" "

 &

"--header \"Authorization: Bearer  LINE messengerAPIからチャンネルアクセストークンを入力\""

& 

"-d \"{
    \"to\" :  \"LINE個別IDを入力\",
    \"messages\" : [
        {
            \"type\":\"text\",
            \"text\":\"Hello, world\"
        }
    ]
}\""

ご教示下さい・・・

上記のスクリプトの間違っている点、もしくは別方法でレコード内容をLINEへ送付する方法をご存知の方がいらっしゃいましたら、ご教示ください。

当方初心者のため、至らない点あるかと存じますが、よろしくお願いいたします。

0 likes

1Answer

jsonのエラーについてですが

"-d \"{
    \"to\" :  \"LINE個別IDを入力\",
    \"messages\" : [
        {
            \"type\":\"text\",

はcurlの引数には以下のようになると思います

-d "{
    "to" :  "LINE個別IDを入力",
    "messages" : [
        {
            "type":"text",

これだと意図したの対応ではないと思います

-d "{
    \"to\" :  \"LINE個別IDを入力\",
    \"messages\" : [
        {

になるようにエスケープしてあげる必要があるのではないでしょうか
以下のように

"-d \"{
    \\\"to\\\" :  \\\"LINE個別IDを入力\\\",
    \\\"messages\\\" : [
        {

このサイトの FileMakerのcURLを利用しECモールへ在庫反映 のように変数$dataに入れて"-d @$data"のようにするのが良いと思います

1Like

Your answer might help someone💌