チャットワークで「チャットワークAPI経由で投稿した投稿に未読がつかなくなる」という変更があったため、
通知が来るように変更したいのですが
トークン、ルームIDはわかるものの、メッセージIDの取得方法がわかりません。
前回投稿した記事のMessage_IDを取得して、未読にしたいです。
どのようにしたらよろしいでしょうか?
JavaScript
1 2function sendMessage() { 3 var roomID = 'ルームID'; 4 var client = ChatWorkClient.factory({token: '自分のトークン'}); 5 //メッセージ送信 6 client.sendMessage({room_id: roomID, body: 'テスト'}); 7 //メッセージを未読にする 8 client.makeMessageUnread = function(room_id, message_id) { 9 return this.put("/rooms/" + roomID + "/messages/unread", {"message_id": message_id}); 10 } 11} 12 13
■使いたいメソッド
参考:チャットワークAPIの自動投稿に未読を付ける
https://qiita.com/ninomiyt/items/71e8beb54b43aa9cc92d
php
1 // 「未読をつける」メソッドを追加 2 client.makeMessageUnread = function(room_id, message_id) { 3 return this.put("/rooms/" + room_id + "/messages/unread", {"message_id": message_id}); 4 }
■message_IDはこれから取得できる?
参考:GET/rooms/{room_id}/messages
http://developer.chatwork.com/ja/endpoint_rooms.html#GET-rooms-room_id-messages-message_id
php
1curl -X GET -H "X-ChatWorkToken: 自分のAPIトークン" "https://api.chatwork.com/v2/rooms/{room_id}/messages?force=0"
■参考になりそう
https://tonari-it.com/gas-chatwork-message-function/
Javascript
1var url = "https://api.chatwork.com/v2/rooms/" + roomID + "/messages?force=0"; //指定のグループチャットからメッセージを取得 2 var strRespons = UrlFetchApp.fetch(url, params); //チャットワークAPIエンドポイントからレスポンスを取得 3 4 var json = JSON.parse(strRespons.getContentText()); //文字列をJSON形式として解析しJSONオブジェクトとして返す 5 6 /* リクエスト用パラメータ・URLの準備 */ 7 params.method="post"; //リクエストメソッドをpostに設定 8 9 var payload = { 10 body : "" 11 }; 12 params.payload=payload; //リクエストペイロードのbodyを一旦セット
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/17 02:46
2018/03/17 06:53
2018/03/17 14:25