fecing' Google_Auth_Exception' wror获取OAuth2访问令牌,消息:' invalid_client''错误

时间:2014-11-24 22:21:24

标签: php oauth-2.0 google-oauth

我正在尝试通过gmail api从Google获取邮件

在收到令牌后验证Google_Client时我收到此错误

致命错误:未捕获的异常'Google_Auth_Exception',上面显示消息'错误提取OAuth2访问令牌,消息:'invalid_client''

我的代码很简单,使用google-api-php-client-master,我的代码如下

require_once('config.php');
require_once 'autoload.php';
$client = new Google_Client();
$client->setScopes(array(
 'https://www.googleapis.com/auth/plus.login',
 'profile',
 'email',
 'openid',
 'https://www.googleapis.com/auth/gmail.readonly',
 'https://mail.google.com/',

));
$client->setApplicationName($config->social['google']->app_name);
$client->setClientId($config->social['google']->client_id);
$client->setClientSecret($config->social['google']->client_secret);
$client->setRedirectUri($config->social['google']->Redirect_URI);
$client->setDeveloperKey($config->social['google']->api_key); // API key
$gclient='';
print_r($_GET);
$token=new stdclass;
if(!isset( $_SESSION['google_token']))
{
$gclient=$client->authenticate($_GET['code']);//error occurs hare 
$_SESSION['gclient']=$gclient;
if($gclient)
{
$_SESSION['google_token'] = $client->getAccessToken();
}
print_r($gclient);

}

我已经多次检查过我的凭证,但它们都是正确的

有人请帮我吧

3 个答案:

答案 0 :(得分:15)

我遇到了同样的问题,但我的解决方案极其容易且令人沮丧。

当您在Google Developers Console 上复制API凭据中的“客户端密码”时,他们会在“客户端密码”之后添加一个空格。一定要删除它!

$client_secret = "hf83nd93hd93j39dj9 ";<--

答案 1 :(得分:1)

正如Mario M.解释的那样,当你复制Client Secret时还有一个额外的空间。你必须确保你做对了。

我收到同样的错误 - Error fetching OAuth2 access token, message: 'invalid_client',但在我的情况下,这是由于未经验证的域名。因此,如果您正在为Web应用程序或类似的东西创建凭据并收到相同的错误;

  1. 检查客户端密码
  2. 末尾没有额外空间
  3. 确保您的域已经过验证

答案 2 :(得分:0)

在我的情况下,我必须设置客户端密钥文件

mvn -X <your_goals>

这解决了我的问题。希望它可以帮到某人。

相关问题