Mailchimp Oauth令牌API 400返回错误invalid_client

bjg7j2ky  于 2023-05-16  发布在  其他
关注(0)|答案(2)|浏览(123)

我在Mailchimp令牌API上遇到问题。我用过很多OAuth,但这个API似乎有些不太好用。假设我已经从callback中获得了授权码,获取token的请求是这样的:
网址:https://login.mailchimp.com/oauth2/token
方法:POST
身体
grant_type:“authorization_code”
client_id:客户端ID
client_secret:client_secret
redirect_uri:redirect_uri
code:代码
client_id、client_secret和redirect_uri均来自Mailchimp注册应用配置。我基本上复制粘贴这3个值,以确保有效的信息。答案是

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

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

cbjzeqam

cbjzeqam1#

我在Python Requests中遇到了同样的问题。我在通过请求发送的字典数据上使用了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的Maven,所以我不知道为什么这个工作。我想当我阅读文档时,它说POST是x-www-form-urlencoded,所以我对数据进行了urlencoded。确保你的身体是正确的格式。

gjmwrych

gjmwrych2#

我相信我的问题是罕见的,但可能会帮助别人。当我最初设置我的集成应用程序时,在mailchimp服务器宕机几秒钟后。当服务器恢复时,我收到了无数次“无效客户端”。没有任何工作,唯一的解决方案是创建一个全新的应用程序,一旦我这样做了它开始工作。
因为这是来自mailchimp的一般错误消息,我以为我发送请求不正确,但客户端实际上无效。如果有疑问,就把它换掉!

相关问题