首先对不起,我的英语很糟糕...我的问题是:Google_Client 类的方法 ''authenticate($code)" 的参数应该是什么???我已将电子邮件地址写入 Web 应用程序的客户端 ID;接下来我已将客户端 ID 写入 ,并且始终返回错误“invalid_grant”
这是错误
[Tue Apr 22 10:22:19 2014] [error] [client 127.0.0.1] PHP Fatal error: Uncaught exception 'Google_Auth_Exception' with message 'Error fetching OAuth2 access token, message: 'invalid_grant'' in /var/www/Repartos/Google/Auth/OAuth2.php:124\nStack trace:\n#0 /var/www/Repartos/Google/Client.php(136): Google_Auth_OAuth2->authenticate('499123288166@de...')\n#1 /var/www/Repartos/index.php(36): Google_Client->authenticate('499123288166@de...')\n#2 {main}\n thrown in /var/www/Repartos/Google/Auth/OAuth2.php on line 124
这是我的代码
<?php
// put your code here
//Incluimos la ubicación de las librerías para poder utilizarlo en nuestra app
session_start();
require_once 'Google/Client.php';
require_once 'Google/Service.php';
require_once 'Google/Service/Tasks.php';
// Creamos el objeto de la API de Google, primero un objeto de la clase Client
$cliente = new Google_Client();
$idCliente ='xxxxxx';
$secertCliente='xxxxx';
$key='xxxxx';
// Y lo configuramos con los nuestros identificadores
$cliente->setApplicationName("Gestor de repartos");
$cliente->setClientId('$IdCliente');
$cliente->setClientSecret('·$secertClient');
$cliente->setRedirectUri('http://localhost/Repartos/index.php');
$cliente->setDeveloperKey('$key');
$cliente->setScopes(array('https://www.googleapis.com/auth/tasks'));
$apitareas = new Google_Service_Tasks($cliente);
//Ahora nos autentificamos
if (isset($_SESSION['clave_acceso'])) {
$cliente->setAccessToken($_SESSION['clave_acceso']);
} else {
//Petada total al utentificarse
$cliente->setAccessToken($cliente->authenticate('$code'));
$_SESSION['clave_acceso'] = $cliente->getAccessToken();
}
谢谢!!!!!!!