如何通过Discord API修改群组DM头像?请求成功但未生效
解决Discord API修改群组DM头像无变化的问题
- 确认身份权限:只有群组DM的创建者(响应里的
owner_id对应的账号)才能修改头像,普通成员没有这个权限,先核对你的账号ID是否和owner_id一致。 - 移除base64前缀:Discord API要求
icon字段只传纯base64编码的图片数据,不需要带data:image/png;base64,前缀,这是你当前代码的核心问题。 - 验证base64编码有效性:把你的
base64_encoded_image解码成图片文件,确认能正常打开,避免编码过程中出现截断或格式错误。 - 检查令牌状态:确保你的用户令牌没有过期,且对应的账号仍在该群组DM中。
修正后的代码示例:
import requests requests.patch( url=f'https://discord.com/api/v9/channels/{group_id}', json={'icon': base64_encoded_image}, # 仅传纯base64字符串 headers={'Authorization': token} )
测试建议:先通过Discord客户端手动修改该群组DM的头像,确认账号有权限操作,再用修正后的API请求尝试,这样可以排除权限类问题。
内容的提问来源于stack exchange,提问作者blocksleft
相关产品推荐
相关产品推荐

