Javascript 如何从google日历API创建事件

Javascript 如何从google日历API创建事件,javascript,php,api,google-calendar-api,Javascript,Php,Api,Google Calendar Api,我正在使用PHP和javascript开发一个web应用程序。在这个应用程序中,我们将一些事件存储在自己的数据库中 现在,我们想要的是,每当我们在应用程序中创建新事件时,它都应该 在当前登录用户的谷歌日历的谷歌日历上创建重复事件 我们可以要求用户从他们的google控制台生成API密钥 是否有任何方法可以通过仅使用API密钥而不使用任何其他配置来创建google日历事件 谢谢请参阅PHP快速启动,了解如何设置环境: 将作用域更改为Google_Service_Calendar::Calenda

我正在使用PHP和javascript开发一个web应用程序。在这个应用程序中,我们将一些事件存储在自己的数据库中

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

我们可以要求用户从他们的google控制台生成API密钥

是否有任何方法可以通过仅使用API密钥而不使用任何其他配置来创建google日历事件


谢谢

请参阅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);

有关如何设置环境,请参阅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);

不幸的是,您的应用程序必须使用OAuth 2.0,而不是API密钥。基于此:

API密钥

  • 当API调用不涉及用户数据时,应使用API键。这意味着无论调用方是谁,为请求返回的数据都是相同的。谷歌地图API和谷歌翻译API等API使用API键
谷歌认证

  • 当所有用户都拥有谷歌账户时,谷歌认证是有利的。例如,如果您的API附带谷歌应用程序(例如,谷歌硬盘伴侣),您可以选择使用谷歌身份验证
由于您将访问用户的数据,因此需要实现OAuth 2.0身份验证

附加参考:


    • 不幸的是,您的应用程序必须使用OAuth 2.0,而不是API密钥。基于此:

      API密钥

      • 当API调用不涉及用户数据时,应使用API键。这意味着无论调用方是谁,为请求返回的数据都是相同的。谷歌地图API和谷歌翻译API等API使用API键
      谷歌认证

      • 当所有用户都拥有谷歌账户时,谷歌认证是有利的。例如,如果您的API附带谷歌应用程序(例如,谷歌硬盘伴侣),您可以选择使用谷歌身份验证
      由于您将访问用户的数据,因此需要实现OAuth 2.0身份验证

      附加参考: