首页 > 解决方案 > 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"
}

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

标签: oauth-2.0backend

解决方案


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


推荐阅读