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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google Apps Script

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

ChatWork

業務の効率化を目的としたコミュニケーションツール。 グループチャット、ビデオ・音声通話、ファイル共有、タスク管理などの機能を備えています。マルチデバイス対応で、ブラウザだけでなくタブレットやスマートフォンでも利用可能です。

Q&A

解決済

1回答

1280閲覧

GAS ChatWorkのログ保存

blacksanta

総合スコア23

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google Apps Script

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

ChatWork

業務の効率化を目的としたコミュニケーションツール。 グループチャット、ビデオ・音声通話、ファイル共有、タスク管理などの機能を備えています。マルチデバイス対応で、ブラウザだけでなくタブレットやスマートフォンでも利用可能です。

0グッド

0クリップ

投稿2020/01/28 14:47

https://teratail.com/questions/216979

こちらを参考に以下のコードを実行してみましたが、

10行目 var json = JSON.parse(strRespons.getContentText());
の部分でSyntaxError: Empty JSON stringと表示されました。

どう直せば動くかわからず、、、
有識者の方、ご教示いただだきたくお願いいたします。

GAS

1function ****(){ 2 var params = { 3 headers : {"X-ChatWorkToken" : '***'}, 4 method : "get" 5 }; 6 var roomID = ****; //ルームID 7 var url = "https://api.chatwork.com/v2/rooms/" + roomID + "/messages?force=0"; //メッセージ取得 8 var strRespons = UrlFetchApp.fetch(url, params); // 9 10 var json = JSON.parse(strRespons.getContentText()); // 11 12 for each(var obj in json){ 13 Logger.log(obj.body); 14 } 15 16 var date = new Date(obj.send_time*1000); //送信日時 17 var date_D = new Date(date.getFullYear(),date.getMonth(),date.getDate(),0,0,0); //日付 18 var date_T = new Date(0,0,0,date.getHours(),date.getMinutes(),0); //時刻 19 20 //log書き出し 21 function outputLog(txt) { 22 var id = "********"; 23 var spreadSheet = SpreadsheetApp.openById(id); 24 var sheetName = "****"; 25 26 spreadSheet.getSheetByName(sheetName).appendRow( 27 [new Date(), txt] 28 ); 29} 30}

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

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

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

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

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

guest

回答1

0

ベストアンサー

こちらでの動作確認では、

SyntaxError: Unexpected end of JSON input

となったのですが、そのかきかただと新たなメッセージがないとメッセージが取得できず、getContentTex() の中身は EmptyString になります。

javascript

1var url = "https://api.chatwork.com/v2/rooms/" + roomID + "/messages?force=1"; //メッセージ取得

とすれば必ず最新の 100 件が取得できるので、そのエラーは回避できると思います。

仕様

投稿2020/02/10 08:32

papinianus

総合スコア12705

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問