繁体   English   中英

如何从Google Calendar API创建事件

[英]How to create events from google calendar API

我正在使用PHP和javascript编写Web应用程序。在此应用程序中,我们将一些事件存储在我们自己的数据库中。

现在,我们想要的是,每当我们在应用程序中创建一个新事件时,它都应该在当前登录用户的Google日历的Google日历上创建一个重复事件。

我们可以要求用户从其Google控制台生成API密钥。

有什么方法可以仅通过使用API​​密钥而无需任何其他配置来创建Google日历事件。

谢谢

不幸的是,您必须为您的应用使用OAuth 2.0,而不是API密钥。 根据此文档

API密钥

  • 当API调用不涉及用户数据时,应使用API​​密钥。 这意味着为请求返回的数据是相同的,而与调用方无关。 诸如Google Maps API和Google Translation API之类的API使用API​​密钥。

Google认证

  • 当所有用户都拥有Google帐户时,使用Google身份验证是有利的。 例如,如果您的API随附于Google Apps(例如Google Drive伴侣),则您可以选择使用Google身份验证。

由于您将访问用户的数据,因此需要实现OAuth 2.0身份验证。

附加参考:

有关如何设置环境,请参考PHP快速入门:

https://developers.google.com/google-apps/calendar/quickstart/php

将范围更改为Google_Service_Calendar :: CALENDAR并删除所有已存储的内容

$event = new Google_Service_Calendar_Event(array(
  'summary' => 'Google I/O 2015',
  'location' => '800 Howard St., San Francisco, CA 94103',
  'description' => 'A chance to hear more about Google\'s developer products.',
  'start' => array(
    'dateTime' => '2015-05-28T09:00:00-07:00',
    'timeZone' => 'America/Los_Angeles',
  ),
  'end' => array(
    'dateTime' => '2015-05-28T17:00:00-07:00',
    'timeZone' => 'America/Los_Angeles',
  ),
  'recurrence' => array(
    'RRULE:FREQ=DAILY;COUNT=2'
  ),
  'attendees' => array(
    array('email' => 'lpage@example.com'),
    array('email' => 'sbrin@example.com'),
  ),
  'reminders' => array(
    'useDefault' => FALSE,
    'overrides' => array(
      array('method' => 'email', 'minutes' => 24 * 60),
      array('method' => 'popup', 'minutes' => 10),
    ),
  ),
));

$calendarId = 'primary';
$event = $service->events->insert($calendarId, $event);
printf('Event created: %s\n', $event->htmlLink);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM