10

您好我正在尝试使用 android 中的 Google 日历 API 在Google 日历中创建一个事件。

我创建了一个由 Google提供的示例项目,我按照每个步骤成功编译了该项目。

但是在这个 Google 日历示例中,我只能为我的 Google 日历帐户创建一个日历名称,我不能创建任何事件。

有没有办法在 Google 日历中创建活动?如果是这样,我该怎么做?

4

2 回答 2

7

经过一段时间的搜索,我终于找到了解决方案。答案在谷歌文档中,它自己只需通过 这个链接

它展示了如何使用谷歌日历 API 创建事件。

于 2013-01-17T06:51:10.790 回答
5

这是一个巨大的痛苦 - 但我终于让它至少可以用来创建事件。

下载最新的 Google PHP API zip,并将其上传到您的网络服务器上的包含文件夹。使用 Google API 控制台设置 API 客户端。确保将重定向 url 设置为与页面的 url 相同 - 所以它会重定向到它自己。

我最初只是为事件详细信息设置了一些变量,如果需要,您可以制作一个将这些变量塞入的表单。

这是我的代码:

<?php
    $jobname = "BINGO";
    $joblocation = "Your mums house";
    $jobdescription = "An interview with a dog.";
    $startofjob = "2013-12-20T17:00:00.000+00:00"; //datetimes must be in this format
    $endofjob = "2013-12-20T18:00:00.000+00:00"; // YYYY-MM-DDTHH:MM:SS.MMM+HH:MM
    //So that's year, month, day, the letter T, hours, minutes, seconds, miliseconds, + or -, timezoneoffset in hours and minutes



    include('google-api-php-client/src/Google_Client.php');
    include('google-api-php-client/src/contrib/Google_CalendarService.php');

    session_start();

    $client = new Google_Client();
    $client->setApplicationName('doesntmatter-whateveryouwant');
    $client->setClientId('yourclientid');
    $client->setClientSecret('yourclientsecret');
    $client->setRedirectUri('yourredirecturl-setingoogleconsole');
    $client->setDeveloperKey('yourdeveloperkey');
    $cal = new Google_CalendarService($client);

    if (isset($_GET['code'])) {
      $client->authenticate($_GET['code']);
      $_SESSION['token'] = $client->getAccessToken();
      header('Location: http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']);
    }

    if (isset($_SESSION['token'])) {
      $client->setAccessToken($_SESSION['token']);
    }

    if ($client->getAccessToken()) {
      $event = new Google_Event();
    $event->setSummary($jobname);
    $event->setDescription($jobdescription);
    $event->setLocation($joblocation);
    $start = new Google_EventDateTime();
    $start->setDateTime($startofjob);
    $event->setStart($start);
    $end = new Google_EventDateTime();
    $end->setDateTime($endofjob);
    $event->setEnd($end);

    $createdEvent = $cal->events->insert('YOURCALENDARID@GOOGLE.COM', $event);
    echo $createdEvent->id;


    $_SESSION['token'] = $client->getAccessToken();
    } else {
      $authUrl = $client->createAuthUrl();
      print "<a class='login' href='$authUrl'>Connect Me!</a>";
    }
?>
于 2013-12-20T15:52:00.673 回答