Google API 离线访问用户数据
Google API Offline Access To User Data
我正在开发一个需要访问用户 Google 日历权限的应用程序。我正在使用 PHP 客户端,并且能够离线访问这些日历。我的问题如下:获得许可后,以后如何访问特定用户的日历?如何在需要时为特定用户(已授予我访问其日历的权限)创建客户端对象?
我已经成功地使用 Google_Service_Oauth2::USERINFO_EMAIL
范围提取了一个客户端 ID,但是我以后如何使用它来获取该用户的日历?那是我应该怎么做还是我走错了方向?
您可以采用多种方法来实现这一目标。在您的情况下,由于您只想访问用户日历,因此您应该在请求中包含的范围是指定的范围 here。您的客户端配置应该有 $client->setAccessType("offline");
和 $client->setApprovalPrompt("force");
允许访问后,您将返回一个访问代码,您可以用该代码交换访问令牌。返回的访问令牌是您需要保存在数据库中的令牌。稍后,如果用户需要使用日历服务,您只需使用您已经保存的访问令牌。
如果您需要代码细节,请 post 代码细节,因为如果不查看您的实现,我们无法完全理解您想要实现的目标。
以下面的代码片段为例。
/*
* @$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
我正在开发一个需要访问用户 Google 日历权限的应用程序。我正在使用 PHP 客户端,并且能够离线访问这些日历。我的问题如下:获得许可后,以后如何访问特定用户的日历?如何在需要时为特定用户(已授予我访问其日历的权限)创建客户端对象?
我已经成功地使用 Google_Service_Oauth2::USERINFO_EMAIL
范围提取了一个客户端 ID,但是我以后如何使用它来获取该用户的日历?那是我应该怎么做还是我走错了方向?
您可以采用多种方法来实现这一目标。在您的情况下,由于您只想访问用户日历,因此您应该在请求中包含的范围是指定的范围 here。您的客户端配置应该有 $client->setAccessType("offline");
和 $client->setApprovalPrompt("force");
允许访问后,您将返回一个访问代码,您可以用该代码交换访问令牌。返回的访问令牌是您需要保存在数据库中的令牌。稍后,如果用户需要使用日历服务,您只需使用您已经保存的访问令牌。
如果您需要代码细节,请 post 代码细节,因为如果不查看您的实现,我们无法完全理解您想要实现的目标。
以下面的代码片段为例。
/*
* @$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