Google api 谷歌API离线访问用户数据

Google api 谷歌API离线访问用户数据,google-api,google-api-php-client,Google Api,Google Api Php Client,我正在开发一个需要用户访问谷歌日历权限的应用程序。我使用的是PHP客户端,可以脱机访问这些日历。我的问题如下:一旦我有了权限,以后如何访问特定用户的日历?当我需要时,如何为特定用户(已授予我访问其日历的权限)创建客户端对象 我已经设法使用Google\u服务\u Oauth2::USERINFO\u EMAILscope提取了一个客户端ID,但是我怎么能在以后使用它来获取用户的日历呢?这就是我应该做的,还是我走错了方向?有几种方法可以实现这一点。在您的情况下,因为您只想访问用户日历,所以您应该在

我正在开发一个需要用户访问谷歌日历权限的应用程序。我使用的是PHP客户端,可以脱机访问这些日历。我的问题如下:一旦我有了权限,以后如何访问特定用户的日历?当我需要时,如何为特定用户(已授予我访问其日历的权限)创建客户端对象


我已经设法使用
Google\u服务\u Oauth2::USERINFO\u EMAIL
scope提取了一个客户端ID,但是我怎么能在以后使用它来获取用户的日历呢?这就是我应该做的,还是我走错了方向?

有几种方法可以实现这一点。在您的情况下,因为您只想访问用户日历,所以您应该在请求中包含的范围就是指定的范围。您的客户端配置应具有
$client->setAccessType(“脱机”)
$client->setApprovalPrompt(“强制”)

允许访问后,系统将返回一个访问代码,您可以用该代码交换访问令牌。返回的访问令牌是需要保存在数据库中的令牌。稍后,如果用户需要使用日历服务,只需使用已保存的访问令牌即可

如果您需要代码细节,那么请发布代码细节,因为如果不查看您的实现,我们无法完全理解您试图实现的目标

以下面的代码段为例

/*
 * @$accessToken - json encoded array (access token saved to database)
*/

$client = new Google_Client();
$client->setAuthConfig("client_secret.json");
$client->addScope("https://www.googleapis.com/auth/calendar");

$_SESSION["access_token"] = json_decode($accessToken, true);

$client->setAccessToken($_SESSION['access_token']);
$service = new Google_Service_Calendar($client);

//REST OF THE PROCESS HERE

你好@Morfinismo,谢谢你的帮助!你能给出一个代码示例,说明我以后如何使用令牌访问用户日历吗?“我好像弄不明白。”我已经更新了答案。请帮我帮你。请告诉我们您正在做什么,以便我们能更好地帮助您。