0

我拥有由谷歌 API 控制台生成的所有客户端 ID、客户端密码、API 密钥、令牌授权码等。而且我还激活了日历服务。我组建了一个可以编辑一个日历的 2 人团队。现在,我想以这样一种方式编写代码,使他们俩都可以将他们的事件添加到该日历中,而无需登录他们的帐户。它要求登录以查看日历,显然无法添加事件。我被推荐了许多教程,例如 oauth 2.0 等,但当时并没有得到确切的想法。有可能吗?

<?php
require_once 'google-api-client/src/Google_Client.php';
require_once 'google-api-client/src/contrib/Google_CalendarService.php';
session_start();
$client = new Google_Client();
$client->setApplicationName("Google Calendar PHP Starter Application");
// Visit code.google.com/apis/console?api=calendar to generate your
// client id, client secret, and to register your redirect uri.
$client->setClientId('client id');
$client->setClientSecret('cliet secret');
$client->setRedirectUri('my calendar url generated after clicking to HTML button');
$calendarListEntry = new Google_CalendarListEntry("My calendar entry");
$calendarListEntry->setId("ajoshi.kraff@gmail.com");
$createdCalendarListEntry = $cal->calendarList->insert($calendarListEntry);
echo $createdCalendarListEntry->getSummary();
4

1 回答 1

0

这种情况在 google docs中有描述。

在用户提供正确的凭据后,google oauth 服务器会将他重定向到您的服务并提供访问令牌(您可以立即使用它来签署您的请求)和刷新令牌,您可以使用它来获取新的访问令牌。您将不得不获得新的访问令牌,因为它们已过期。刷新令牌可让您在没有用户存在的情况下获得新的访问令牌 - 例如在您的后台服务中。所以你应该将刷新令牌存储在数据库中(或任何你想要的地方)。

查看此文档页面: https ://developers.google.com/accounts/docs/OAuth2WebServer

于 2012-11-23T12:52:51.397 回答