明码标价:RMB 100
找到解决办法以后(请确保您先在本地测试成功),请加我 WX 领取,WX 二维码请看此贴最底部。任务赏金只给第一位完成任务的,先到先得。加完 WX 请先问任务是否已被人领取。 有任何需要补充的,请在此帖留言。
需求描述:正在开发一个 Discord 应用程序,客户授权这个应用程序以后,这个程序可以邀请任意 Discord 用户(只要有这个用户的 ID )进入到该客户创建的 server 。
对应的 API 接口文档:https://discord.com/developers/docs/resources/guild#add-guild-member
所用的语言及要求: 用的是 Python, 但是请不要用任何 python 的 discord 库,请直接用 python 的requests
这个库。当然也可以直接用 Postman 或者 cURL 。
目前我用的代码(报错,报错内容请往下看):
此代码参考了: https://www.youtube.com/watch?v=TvsjIvT4jCI
import requests
OAUTH_CODE = ''
GUID_ID = ''
USER_ID = ''
def exchange_code(code):
data = {
'client_id': '',
'client_secret': '',
'grant_type': 'authorization_code',
'code': code,
'redirect_uri': ''
}
headers = {
'Content-type': 'application/json'
}
r = requests.post('https://discord.com/api/v10/oauth2/token', data=data, headers=headers)
return r.json()
def add_to_guilds(access_token, guild_id, user_id):
url = f"https://discord.com/api/v10/guilds/{guild_id}/members/{user_id}"
botToken = ""
data = {
"access_token": access_token
}
headers = {
'Authorization': "Bot " + botToken,
'Content-type': 'application/json'
}
response = requests.put(url=url, headers=headers, json=data)
print(response.text)
code = exchange_code(OAUTH_CODE)['access_token']
add_to_guilds(code, GUID_ID, USER_ID)
报错:
{
"message": "Invalid OAuth2 access token",
"code": 50025
}
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.