Slack APIで特定のチャンネルIDのチャンネル名を取得したく、conversations.listを使ってチャンネル情報を全件取得の上で、 idと一致するものを探すコードをGASで書きました。
しかし、APIの使用を見るとlimitの上限が、デフォルトで100件、多くても1000件らしく、個数制限されているため、超えた場合にマッチしなくなるので困っています。
https://api.slack.com/methods/conversations.list
js
1function getCurrentDirectoryChannel(token, channelId) 2{ 3 var token = PropertiesService.getScriptProperties().getProperty('SLACK_ACCESS_TOKEN'); 4 var channelId = 'C2DJxxxx'; 5 var userId = 'U4GHxxxxx'; 6 var currentDirectorychannel = { 7 id: '', 8 name: '' 9 }; 10 var url = "https://slack.com/api/conversations.list"; 11 var options = { 12 "method" : "get", 13 "contentType": "application/x-www-form-urlencoded", 14 "payload" : { 15 "token": token 16 17 } 18 }; 19 var response = UrlFetchApp.fetch(url, options); 20 var json = JSON.parse(response); 21 22 for(var i = 0; i < json.channels.length; i++) { 23 if(json.channels[i].id == channelId) { 24 currentDirectorychannel.id = json.channels[i].id; 25 currentDirectorychannel.name = json.channels[i].name; 26 break; 27 } 28 } 29 return currentDirectorychannel 30}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。