【问题标题】:Invalid_request OAuth2 Google?Invalid_request OAuth2 Google?
【发布时间】:2017-07-16 15:34:06
【问题描述】:

我得到了代码:4/sfPsZXlH-eO4kqj8EE8WDO70jEMn3HyMuk7ZvjkqL-Q#

在尝试获取访问令牌后对 url 进行请求:

$authUrl = "https://accounts.google.com/o/oauth2/token";

curl_setopt_array($curl, array(
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => array(
        'code' => $code,
        'client_id' => CLIENT_ID,
        'client_secret' => CLIENT_SECRET,
        'redirect_uri' => getRedirectUri(),
        'grant_type' => 'authorization_code'
    ),
    CURLOPT_URL => $authUrl,
    CURLOPT_SSL_VERIFYPEER => false,
    CURLOPT_RETURNTRANSFER => true
));

但得到错误:

object(stdClass)#1 (1) {
  ["error"]=>
  string(15) "invalid_request"
}

如何检测出问题所在?

【问题讨论】:

  • 你能告诉我们你的 CURLOPT_POSTFIELDS 的输出吗?应该都在同一行,用 & 分隔,没有 html 编码。
  • 我该怎么做?
  • 我尝试使用这个库:https://github.com/google/google-api-php-client,但不明白$client->setDeveloperKey("YOUR_APP_KEY");是什么?
  • 在您创建作为公共 api 密钥的项目时来自 Google 开发者控制台。它仅适用于公共数据,但不适用于私人用户数据。尝试为您选择的 api 寻找一个快速入门示例,这里是分析 api developers.google.com/analytics/devguides/reporting/core/v3/…

标签: curl oauth-2.0 google-oauth


【解决方案1】:

尝试打印上述请求。但我看不到 AuthCode 被传递到令牌 url 以获取访问令牌。您可以验证上述过程 谷歌oauth游乐场也是。 https://developers.google.com/oauthplayground/

【讨论】:

    猜你喜欢
    • 2018-01-10
    • 2016-04-28
    • 2012-04-25
    • 1970-01-01
    • 2020-08-26
    • 1970-01-01
    • 2021-12-28
    • 1970-01-01
    相关资源
    最近更新 更多