Mailchimp Oauth令牌API 400返回错误invalid_client

时间:2020-01-30 04:38:12

标签: oauth-2.0 backend

我在使用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 Registered App配置。我基本上会复制粘贴这3个值以确保有效信息。响应是

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

我尝试从服务器,curl和邮递员发送邮件。还是一样的错误。你们可以帮忙吗?

1 个答案:

答案 0 :(得分:2)

我对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。确保您的身体格式正确。