oauth-2.0 - Mailchimp Oauth 令牌 API 400 返回错误 invalid_client
问题描述
我在使用 Mailchimp 令牌 API 时遇到问题。我经常使用 OAuth,但这个 API 似乎有些问题。如果我已经从回调中获得了授权码,那么获取令牌的请求是这样的:
URL:https
://login.mailchimp.com/oauth2/token
方法:POST
正文
grant_type
:“authorization_code”
client_id
:client_id
client_secret
:client_secret
redirect_uri
:redirect_uri
code
:代码
client_id、client_secret 和 redirect_uri 完全来自 Mailchimp 注册应用程序配置。我基本上复制粘贴这 3 个值以确保信息有效。回应是
Bad request 400
{
"error": "invalid_client"
}
我试图从服务器,从卷曲,从邮递员发送。还是同样的错误。你们能帮忙吗?
解决方案
我对 Python 请求有同样的问题。我在urlencode
通过请求发送的字典数据上使用:
Params = {
'grant_type': 'authorization_code',
'code': code,
'redirect_uri': redirect_url,
}
params = urllib.parse.urlencode(params)
tokenResponse = requests.post(access_token_url, data=params)
一旦我删除urlencode
它工作:
Params = {
'grant_type': 'authorization_code',
'code': code,
'redirect_uri': redirect_url,
}
tokenResponse = requests.post(access_token_url, data=params)
我绝不是 Oauth2 方面的专家,所以我不确定为什么会这样。我想当我阅读文档时,它说 POST 是 x-www-form-urlencoded,所以我对数据进行了 urlencoded。确保您的身体格式正确。
推荐阅读
- go - 如何使用 Gorm 将外键添加到模型中
- shell - 只有在“if”块的主体之前添加回显语句后,Shell 脚本才能工作
- compiler-construction - LLVM 如何将三个地址 LLVM IR `add` 转换为 X86 两个地址`add`?
- python - 关于Keras中skipgram函数结果冲突的问题
- google-cloud-platform - 有没有办法为 spring-cloud-stream-pubsub 中的主题定义 TTL?
- memory - MIPS程序地址空间4GB如何
- asp.net - 使用文件上传将 Excel 数据传输到 SQL Server 表中
- c# - Docker 构建 vsts 2017
- python - 从 csv 文件读取数据时查找列表的累积总和
- reactjs - 如何修复 gyp ERR!使用 npm 构建错误?