Mailchimp Oauth 令牌 API 400 返回错误 invalid_client



我在使用Mailchimp令牌API时遇到问题。我使用过很多OAuth,但这个API似乎有些不舒服。假设我从回调中获得了授权代码,则获取令牌的请求如下所示:

网址: https://login.mailchimp.com/oauth2/token
方法: 开机自检
正文
grant_type: "authorization_code">
client_id: client_id
client_secret: client_secretredirect_uri: redirect_uri

code: 代码

client_id,client_secret和redirect_uri完全来自Mailchimp注册应用程序配置。我基本上复制粘贴这 3 个值以确保信息有效。而回应是

Bad request 400
{
"error": "invalid_client"
}

我试图从服务器,从curl,从邮递员发送。还是同样的错误。你们能帮忙吗?

我在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,所以我对数据进行了编码。 确保您的身体格式正确。

我相信我的问题很少见,但可能会帮助其他人。当我最初设置我的集成应用程序时,在 mailchimp 服务器关闭几秒钟后。当服务器恢复时,我无数次收到"无效客户端"。没有任何效果,唯一的解决方案是创建一个全新的应用程序,一旦我这样做了,它就开始工作了。

因为这是来自 mailchimp 的通用错误消息,我以为我发送的请求不正确,但客户端实际上是无效的。如有疑问,请将其换掉!

相关内容

最新更新