やりたいこと
別の用件で、関係ないグループチャットにメッセージが300件ほど送信されてしまい、
さすがに見た目が悪いので一括削除したい
発生している問題・エラーメッセージ
・検索かけても削除フルコードが転がっておらず自分でできない
該当のソースコード
メッセ削除API
http://developer.chatwork.com/ja/endpoint_rooms.html#DELETE-rooms-room_id-messages-message_id
DELETE/rooms/{room_id}/messages/{message_id} curl -X DELETE -H "X-ChatWorkToken: 自分のAPIトークン" "https://api.chatwork.com/v2/rooms/{room_id}/messages/{message_id}"
試したこと
削除したいmessage_idは下記コードで取得済みです
取得API http://developer.chatwork.com/ja/endpoint_rooms.html#GET-rooms-room_id-messages
・100個のmessage_idをシートに記載している
・その範囲を{message_id}に入れたい
・削除して再度取得→削除を繰り返して300件ほど削除したい(最大100件まで取得の仕様なため)
function getmessage(){ var params = { headers : {"X-ChatWorkToken" : 'トークン'}, method : "get" }; var roomID = ルームID; var url = "https://api.chatwork.com/v2/rooms/" + roomID + "/messages?force=0"; //指定のグループチャットからメッセージを取得 var strRespons = UrlFetchApp.fetch(url, params); //チャットワークAPIエンドポイントからレスポンスを取得 var mySS = SpreadsheetApp.openById("スプシーxxxxx"); var sheet = mySS.getSheetByName('シート24').getRange(1, 1); var json = JSON.parse(strRespons.getContentText()); //文字列をJSON形式として解析しJSONオブジェクトとして返す for each(var obj in json){ Logger.log(obj.body); } for(var i=1; i<json.length; i++) { // スプレッドシートに書き込む sheet.offset(i, 0).setValue(json[i]["message_id"]); sheet.offset(i, 1).setValue(json[i]["body"]); } }
回答2件
あなたの回答
tips
プレビュー