【问题标题】:How to create events from google calendar API如何从谷歌日历 API 创建事件
【发布时间】:2018-04-30 21:07:19
【问题描述】:

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

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

我们可以要求我们的用户从他们的谷歌控制台生成一个 API 密钥。

有没有办法通过仅使用 API 密钥而不进行任何其他配置来创建谷歌日历事件。

谢谢

【问题讨论】:

    标签: javascript php api google-calendar-api


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      很遗憾,您的应用必须使用 OAuth 2.0 而不是 API 密钥。基于此documentation

      API 密钥

      • 当 API 调用不涉及用户数据时,应使用 API 密钥。这意味着无论调用者如何,为请求返回的数据都是相同的。 Google Maps API 和 Google Translation API 等 API 使用 API 密钥。

      谷歌身份验证

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

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

      补充参考:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-12
        • 2012-10-10
        • 2013-12-13
        相关资源
        最近更新 更多