Javascript Discord api“;补丁修改帮会成员“;没有';当我使用谷歌脚本制作补丁时,我不会做任何更改:“;UrlFetchApp.fetch()和#x201D;
我正在建立一个api连接。我已经为我的应用程序提供了OAuth身份验证和bot。现在我想对discord帮会成员角色进行更改 我做了一个补丁,它返回一个204。根据discord的说法:“成功时返回204个空响应”。但是,服务器没有得到更新。角色没有变化 这是我的“补丁函数”: 以下是我的回答:“params”: 我们希望将角色更新为: [“60000000000000000”、“60000000000000000”] 但我们只有旧角色:Javascript Discord api“;补丁修改帮会成员“;没有';当我使用谷歌脚本制作补丁时,我不会做任何更改:“;UrlFetchApp.fetch()和#x201D;,javascript,api,google-apps-script,oauth-2.0,discord,Javascript,Api,Google Apps Script,Oauth 2.0,Discord,我正在建立一个api连接。我已经为我的应用程序提供了OAuth身份验证和bot。现在我想对discord帮会成员角色进行更改 我做了一个补丁,它返回一个204。根据discord的说法:“成功时返回204个空响应”。但是,服务器没有得到更新。角色没有变化 这是我的“补丁函数”: 以下是我的回答:“params”: 我们希望将角色更新为: [“60000000000000000”、“60000000000000000”] 但我们只有旧角色: [“5000000000000”]这次修改怎么样 发件人
[“5000000000000”]这次修改怎么样 发件人: 致:
- 请从标题中输出
和方法
有效负载
- 您可以使用
而不是contentType
。在这种情况下,不需要在标题中显示Content-Type
- 在您的例子中,
是contentType
application/json
403
的{“message”:“Missing Permissions”,“code”:50013}
错误时,请检查以下几点
- 在“服务器设置”中,打开“角色”
- 角色的顺序对您的处境很重要。
- 当假定Bot的角色和您想要提供的角色分别为“ForBot”和“sampleRole1”以及“sampleRole2”时,如果角色顺序如下,则会出现状态代码为
的错误403
{message:“Missing Permissions”,“code”:50013}
- 来自
- 如果角色顺序如下所示,则状态代码
不会发生错误。这个请求有效204
- 至
缺少权限
是由于您的设置造成的。因此,我在回答中添加了检查点。你能确认一下吗?如果这不能解决你的问题,我道歉。你正好解决了我的问题。有你的帮助,我可以解决这个问题。非常感谢你。你是一个非常友好、技术高超的家伙!祝你度过愉快的一天,保持这种状态。@Luigi Diablo欢迎你。谢谢你让我知道。我很高兴你的问题解决了。如果您的问题已解决,请按“接受”按钮。与您有相同问题的其他人也可以将您的问题作为可以解决的问题。我认为你的问题和解决方案对他们会有帮助。如果你找不到按钮,尽管告诉我。
function patchGuildMemberRole( userId, callback) {
var API_ModifyGuildMember_URL = 'https://discordapp.com/api/guilds/500000000000000000/members/' + userId;
data = {
"roles": ["600000000000000000", "600000000000000000"]
};
header = {
'method' : 'PATCH',
'Authorization': 'Bot' + ' ' + 'XXXXXXXXXXXXXXXXXXXXXXXXXX',
'followRedirects' : true,
'Content-Type': 'application/x-www-form-urlencoded',
'payload' : data
};
var result = UrlFetchApp.fetch(API_ModifyGuildMember_URL, {headers: header});
console.log("result");
console.log(result);
if (result.getResponseCode() == 204 || result.getResponseCode() == 200) {
var params = JSON.parse(result.getContentText());
return callback(params);
} else {
return callback(error('API fetch error'));
}
}
{
"nick": "Kevin - Kevin",
"user": {
"username": "Kevin",
"discriminator": "6666",
"id": "500000000000000000", "avatar": "zzzzzzzzzzzzzz80acd5bb1a005"
},
"roles": ["500000000000000000"],
"premium_since": null,
"deaf": false,
"mute": false,
"joined_at": "2016-04-00T00:00:00.000000+00:00"
}
header = {
'method' : 'PATCH',
'Authorization': 'Bot' + ' ' + 'XXXXXXXXXXXXXXXXXXXXXXXXXX',
'followRedirects' : true,
'Content-Type': 'application/x-www-form-urlencoded',
'payload' : data
};
var result = UrlFetchApp.fetch(API_ModifyGuildMember_URL, {headers: header});
var params = {
method: 'PATCH',
headers: {Authorization: 'Bot' + ' ' + 'XXXXXXXXXXXXXXXXXXXXXXXXXX'},
contentType: 'application/json',
payload : JSON.stringify(data)
};
var result = UrlFetchApp.fetch(API_ModifyGuildMember_URL, params);