获取 Mailchimp 的访问令牌时出错。返回 "error":"invalid_grant" [重复]

Posted

技术标签:

【中文标题】获取 Mailchimp 的访问令牌时出错。返回 "error":"invalid_grant" [重复]【英文标题】:Error in getting access token for Mailchimp. Returns "error":"invalid_grant" [duplicate]获取 Mailchimp 的访问令牌时出错。返回 "error":"invalid_grant" [重复] 【发布时间】:2017-12-17 10:19:45 【问题描述】:

得到一个代码,我试图获取它的访问令牌。我提出了一个 Curl 请求并执行了它,但得到的错误响应为 "error":"invalid_grant"。这是我的代码:

    $url = 'https://login.mailchimp.com/oauth2/token';
    $grant_type = 'authorization_code';
    $client_id = 'MY CLIENT ID';
    $client_secret = 'SECRET KEY';
    $redirect_url = urlencode('REDIREDT_URL');
    $code = $_GET['code'];;

    $post_field = array(
        'grant_type' => 'authorization_code',
        'client_id' => $client_id,
        'client_secret' => $client_secret,
        'redirect_uri' => $redirect_url,
        'code' => $code,
        );

    $ch = curl_init();

    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_ENCODING, '');
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded'));
    curl_setopt($ch, CURLOPT_POST, true);
    $value = http_build_query($post_field);
    //echo $value; exit;
    curl_setopt($ch, CURLOPT_POSTFIELDS, $value);

    //echo $post_field;
    $result = curl_exec($ch);
    curl_close( $ch );
    print_r($result); exit;

【问题讨论】:

这可能会有所帮助:***.com/questions/12724581/… 【参考方案1】:

[来自文档:][1]

invalid_grant 提供的授权授权(例如,授权 代码、资源所有者凭据)或刷新令牌是 无效、过期、撤销、不匹配重定向 授权请求中使用的 URI,或者被发给 另一个客户。

我将获得一个新的授权令牌。 [1]:https://www.rfc-editor.org/rfc/rfc6749#section-5.2

【讨论】:

注释中的手册链接将达到与此相同的效果 感谢您的回复 :) 但我已经仔细检查了我的凭据并发现它们是正确的。让我印象深刻的一件事是“带外”请求。你知道如何提出带外请求吗? 带外意味着您只需要在服务器上异步发出该请求,而不是在客户端(例如浏览器)上,因为它公开了客户端密码。 最后,我的invalid_grant 问题是由在重定向URI 上使用encodeURIComponent 引起的,然后第二次将此编码值传递给request 配置。这会导致双重编码,从而导致重定向 URI 不匹配并导致此错误。

以上是关于获取 Mailchimp 的访问令牌时出错。返回 "error":"invalid_grant" [重复]的主要内容,如果未能解决你的问题,请参考以下文章

从 FB 获取活动访问令牌时出错

从 Spotify API 获取访问令牌时出错 [重复]

获取 java.io.IOException:获取服务帐户的访问令牌时出错:调用数据存储时连接超时

使用 php sdk 在 facebook 中获取访问令牌时出错

BigtableConnection API 失败;从元数据服务器获取访问令牌时出错

Mailchimp API 返回奇怪的响应