CodeIgniter和Google Calendar API

时间:2014-09-22 20:09:18

标签: php codeigniter api google-calendar-api

我在了解Google API开发环境中的client_id时遇到问题。在每个应用程序中,此配置都是应用程序开发人员所必需的:

 $client->setClientId('YOUR CLIENT ID');
 $client->setClientSecret('YOUR CLIENT SECRET');
 $client->setRedirectUri('YOUR REDIRECT URI');
 $client->setDeveloperKey('API/DEVELOPER KEY');

我知道如何获得这些参数。所以,我开发了一个简单的Google日历API,我想使用"获取活动列表"方法:

$cal = new Google_CalendarService($client);
    if (isset($_GET['logout'])) {
       unset($_SESSION['token']);
    }
....
....
....

$events = $cal->events->listEvents('CALENDAR_ID');
print_r($events, true);

现在,排队" $ events = $ cal-> events-> listEvents(' CALENDAR_ID');"如果我把我的电子邮件地址而不是" CALENDAR_ID" ,它会正常工作,它会列出我的活动,但如果我使用其他Gmail帐户登录(这将提示我进行身份验证),它将产生错误,基本上这是" CALENDAR_ID"替换电子邮件地址,所以如果它是开发者本人,它将工作,但不是新的登录。那么如何让其他Gmail帐户的CALENDAR_ID插入其中?如果我在经过身份验证后无法获得其他帐户的CALENDAR_ID,那么如果该应用仅适用于我的OWN(开发人员)CALENDAR_ID,那该应用程序会有什么用呢?
请告知
非常感谢

2 个答案:

答案 0 :(得分:0)

使用" primary"关键字而不是电子邮件地址。

答案 1 :(得分:0)

您可以在以下链接https://github.com/omerkamcili/ci_google_calendar_api中找到完整的工作代码。

下载代码后,请在以下链接http://console.developers.google.com中创建您的服务帐户OAuth客户端ID。

然后在以下路径中替换项目文件中的client_id,client_secret,redirect_uri - > /project_folder/application/config/client_secret_846685841138-t0a5b9d2i655e7km54md8j440jcg5rr5.apps.googleusercontent.com.json文件最后在以下文件路径/ project_folder / application / third_party / google-api-php-client中下载并替换google-api-php-client