【发布时间】:2015-01-22 18:44:09
【问题描述】:
我正在尝试通过 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);
}
我已多次检查我的凭据,它们都是正确的
有人能帮我解决吗
【问题讨论】:
-
转到应用程序的开发者控制台。同意屏幕确保填写产品名称和电子邮件。
-
所有内容都已正确填写,在重新生成客户端密码几次后它工作正常,但在尝试列出按摩 $massages=listMessages($service, $user_info->email) 时再次出错;它按摩(403)访问未配置。您的项目未启用 API,或者您的 API 密钥上配置了 per-IP 或 per-Referer 限制,并且请求与这些限制不匹配。请使用 Google Developers Console 更新您的配置我不明白它要求的配置
-
在开发者控制台中转到 API 并启用 Gmail-API 和 google+ API
标签: php oauth-2.0 google-oauth