実現したいこと
特定の文字列をLINE Notifyを使ってグループに送信したい
前提
Google Apps ScriptにJavaScriptでコードを書いています
実行している関数はnotifyTomorrowEvents()です
昨日まではエラーが起きずに正しく実行できていました。
昨日からコードは何も変えていません。
発生している問題・エラーメッセージ
エラーメッセージ Exception: Request failed for https://notify-api.line.me returned code 400. Truncated server response: {"status":400,"message":"Bad Request"} (use muteHttpExceptions option to examine full response) muteHttpExceptionsオプション使用時 {"status":400,"message":"Failed to upload file."}
該当のソースコード
JavaScript
1var ACCESS_TOKEN = 'MyLINENotifyToken'; 2 3function sendLineNotify(message) { 4 var options = { 5 'method': 'post', 6 'payload': 'message=' + message, 7 'headers': {'Authorization': 'Bearer ' + ACCESS_TOKEN} 8 }; 9 UrlFetchApp.fetch('https://notify-api.line.me/api/notify', options); 10} 11 12 13function notifyTomorrowEvents() { 14 var message = 'Hello,World'; 15 sendLineNotify(message); 16}
試したこと
LINE Notify APIのリクエスト方法がよくわからず、有志のサイトのコードを丸々流用してしまっているので、
どこを書き換えればよいのかもわからないので、何も試せていません。
補足情報(FW/ツールのバージョンなど)
ご提示のスクリプトは簡略化したものだと思いますが、その簡略化されたスクリプトのトークンだけを書き換えてnotifyTomorrowEventsを実行してもHello,Worldと通知されませんか?
このままトークンだけを書き換えて実行しましたが、同じエラーが返ってきてしまいました。
1)
では、下のように修正(2行追加)後に同じ
notifyTomorrowEventsを実行してみると
ログに
Hellow,World
message=Helloe,World
が表示された後に同じエラーになりますか?
function sendLineNotify(message) {
var options = {
'method': 'post',
'payload': 'message=' + message,
'headers': {'Authorization': 'Bearer ' + ACCESS_TOKEN}
};
console.log(message);//この行と
console.log(options.payload);//この行を追加
UrlFetchApp.fetch('https://notify-api.line.me/api/notify', options);
}
2) sendLineNotifyの方を実行してみたときは、
ログの表示とエラーはどうなりますか?
undefined
message=undefined
の後にエラーでしょうか?
3) 念のためお伺いしますが、元々のスクリプトと同じエディタにご提示の簡略化されたスクリプトを保存して同名の関数が複数ある状態で実行していたりはしませんよね。
1と2を両方試しましたが、予想の通りのログが出力されました。
3についてですが、別のファイルで試しているため同名の関数はありません。
他の回答者様の回答を試した結果もお教えください。同じエラーが出ますか?
試した結果、異なるエラーが発生しました
エラー詳細は回答へのコメントをご参照お願いします
他の回答者様の新たな提案(オブジェクト渡し)もお試しください。
同じエラーが出るようなら、
notifyトークンを新たに発行してみるというのは試されてますか?
無効なトークンなら401エラーになると思うのですが、
全く同じスクリプトを実行していて当方ではエラーがなく
質問者様ではエラーが発生しているのでは、
スクリプトとしては、違いがトークンだけなので。
他の回答者様の提案の通りに書き換えたところ無事に動きました。
ご協力ありがとうございました!
理由はわからないままでしたが、動作するようになって良かったです。
回答1件
あなたの回答
tips
プレビュー