关于后端:Mailchimp Oauth token API 400 返回错误 invalid_client

Mailchimp Oauth token API 400 returns error invalid_client

我在使用 Mailchimp 令牌 API 时遇到问题。我经常使用 OAuth,但这个 API 似乎有些问题。如果我已经从回调中获得了授权码,那么获取令牌的请求是这样的:

网址:https://login.mailchimp.com/oauth2/token
方法:POST
身体
grant_type:"授权码"
client_id:client_id
client_secret:client_secret
redirect_uri:redirect_uri
code: 代码

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

1
2
3
4
Bad request 400
{
 "error":"invalid_client"
}

我尝试从服务器、curl 和 Postman 发送。还是同样的错误。你们能帮忙吗?


我对 Python 请求也有同样的问题。我在通过请求发送的字典数据上使用 urlencode

1
2
3
4
5
6
7
8
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,它就起作用了:

1
2
3
4
5
6
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。确保您的身体格式正确。