実現したいこと
GASからDiscordAPIを経由してサーバーのチャンネル名を変更したい
現在、node.jsから
DiscordAPIを経由してサーバーのチャンネル名を変更しています。
(node.jsでは問題なくレスポンス(code200)が帰ってきます)
今後GASから
DiscordAPIを経由してサーバーのチャンネル名を変更したいと考えており、
GASでコードを書いているのですが、エラーが帰ってきて上手く行きません。
発生している問題・分からないこと
GASで実行した場合、下記のエラーが出現する。
Error: Exception: Request failed for https://discord.com returned code 403. Truncated server response: {"message": "internal network error", "code": 40333}
該当のソースコード
node.js
1const axios = require('axios'); 2async function changeChannelName() { 3 const url = 'https://discord.com/api/v10/channels/CHANNEL_ID'; 4 5 const options = { 6 method: 'PATCH', 7 headers: { 8 "Authorization": "Bot BOT_TOKEN", 9 "Content-Type": "application/json" 10 }, 11 data: { 12 "name": "NEW_NAME" 13 } 14 }; 15 16 try { 17 const response = await axios(url, options); 18 console.log('Response Code:', response.status); 19 } catch (e) { 20 console.error('Error:', e.message); 21 } 22} 23changeChannelName();
GAS
1function changeChannelName() { 2 var url = `https://discord.com/api/v10/channels/${CHANNEL_ID}`; 3 4 var options = { 5 method: 'PATCH', 6 7 payload: { 8 "name": "NEW_NAME" 9 } 10 , headers: { 11 "Authorization": `Bot ${BOT_TOKEN}`, 12 "Content-Type": "application/json" 13 } 14 }; 15 16 try { 17 var response = UrlFetchApp.fetch(url, options); 18 Logger.log('Response Code: ' + response.getResponseCode()); 19 } catch (e) { 20 Logger.log('Error: ' + e.toString()); 21 } 22}
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
node.jsとGASの違いを一通り調べました。
主に、
axiosー>UrlFetchApp.fetch
への変更だけで、headerの記述内容が若干ことなることなどでした。
上記を踏まえ記述していますが、レスポンスが帰ってこないのでご教授願います。
補足
特になし