如何解决Google oauth2错误 - “无效的客户端密钥JSON文件”?

时间:2016-06-03 15:34:16

标签: php json oauth-2.0

我正在尝试实施google-api-php-client。我从列表中选择了“用户查询 - 检索Id令牌”,这会打开Connect Me!按钮。 按下一页上的“允许”按钮后,将发出以下错误:

  

'Google_Exception',消息为“无效的客户机密钥JSON文件”

我已经阅读了类似的SO问题,但没有一个解决方案适合我,或者似乎太复杂而无法实施。

我使用“OAuth客户端ID”凭据选项生成了JSON文件,该选项生成以下内容并且对我来说是正确的。

{
    "web": {
        "client_id": "904891570762-e6l415d7ms8eh8amq8lb95550jk6277r.apps.googleusercontent.com",
        "project_id": "writers-tryst",
        "auth_uri": "https://accounts.google.com/o/oauth2/auth",
        "token_uri": "https://accounts.google.com/o/oauth2/token",
        "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
        "client_secret": "my-secret",
        "redirect_uris": [
            "http://localhost:16743/google-api-php-client/examples/oauth2callback.php"
        ],
        "javascript_origins": [
            "http://writers-tryst.com",
            "http://writers-tryst.ron-tornambe.com"
        ]
    }
}

错误是从以下代码段生成的:

$data = json_decode($json);
$key = isset($data->installed) ? 'installed' : 'web';
if (!isset($data->$key)) {
  throw new Google_Exception("Invalid client secret JSON file.");
}

有没有人遇到同样的问题?有解决办法吗?

1 个答案:

答案 0 :(得分:0)