質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Q&A

0回答

1865閲覧

JavaScript初心者 GASのUrlFetchApp.fetchで起きるエラーが解決できない

Mitsui0408

総合スコア1

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

0グッド

0クリップ

投稿2021/07/06 03:53

編集2021/07/06 05:26

前提・実現したいこと

チャットワークとスプレッドシートを連携させ、スプレッドシートに書き込みや編集があればチャットワークに通知が行くようにしたいです。
参考にしたサイト:https://sterfield.co.jp/programmer/google%E3%82%B9%E3%83%97%E3%83%AC%E3%83%83%E3%83%89%E3%82%B7%E3%83%BC%E3%83%88%E3%81%AE%E6%9B%B4%E6%96%B0%E3%82%92chatwork%E3%81%B8%E9%80%9A%E7%9F%A5%E3%81%97%E3%81%A6%E3%81%BF%E3%81%9F/

エラーが出るうえで稼働し、英文が返ってきます。

発生している問題・エラーメッセージ

Exception: Request failed for https://api.chatwork.com returned code 400. Truncated server response: {"errors":["Parameter 'body' is too short"]} (use muteHttpExceptions option to examine full response)
postChatwork @ コード.gs:22

該当のソースコード

トークンやAPIは実際には入力しています。

rb

1var SHEET_ID = '******'; 2var SHEET_NAME = '******'; 3 4var ROOM_ID = '******'; 5var TOKEN = '******'; 6 7function postChatwork(message) { 8 var payload = { 9 'body' : message 10 }; 11 12 var headers = { 13 'X-ChatWorkToken' : TOKEN 14 }; 15 16 var options = { 17 'method' : 'post', 18 'payload' : payload, 19 'headers' : headers 20 }; 21 22 UrlFetchApp.fetch('https://api.chatwork.com/v2/rooms/' + ROOM_ID + '/messages', options); 23} 24 25function onUpdateBatchCheck(){ 26 27 var spreadsheet = SpreadsheetApp.openById(SHEET_ID); 28 var sheet = spreadsheet.getSheetByName(SHEET_NAME); 29 var data = sheet.getDataRange().getValues(); 30 31 var stateColumnIndex = 1; 32 var targetColumnIndex = 0; //A列の更新をチェック 33 var targetRowIndexes = []; 34 35 for(var i = 1;i < data.length; i++){ 36 if((!data[i][stateColumnIndex]) && (data[i][targtColumnIndex])){ 37 targetRowIndexes.push(i); 38 } 39 } 40 if(targetRowIndexes.length == 0) return; 41 var msg= ''; 42 for(var i = 0; i < targetRowIndexes.length; i++){ 43 var row = targetRowIndexes[i]; 44 var cell = data[row][targetColumnIndex]; 45 46 msg += Utilities.formatString('[info]%d行目が更新されました\n内容 : %s[/info]', row + 1,cell); 47 sheet.getRange(row + stateColumnIndex + 1).setValue(true); 48 } 49 50 var message = Utilities.formatString(' シート[%s]が更新されました\n%s', SHEET_NAME, msg); 51 postChatwork(message); 52}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2021/07/06 04:04

コードはマークダウンのcodeにてご提示ください。 またエラーメッセージが丁寧に指摘してくれてますが、読まれましたか? APIマニュアルでもエラーの意図を確認できそうな内容ですが。
m.ts10806

2021/07/06 04:07 編集

あと、Javaですか?JavaScriptですか? UrlFetchAppで調べて出てくるのはGASなのでJavaではないと思うのですが。 Google Apps Scriptもタグがあるので追加してください。Javaはむしろノイズになります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問