如何使用Android使用日历API在谷歌日历上添加事件?

时间:2013-01-07 10:01:44

标签: android calendar google-api google-calendar-api

您好我正在尝试使用Android中的Google日历API在 Google日历中创建一个活动。

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

但在这个Google日历示例中,我只能为我的Google日历帐户创建日历名称,我无法创建任何活动。

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

2 个答案:

答案 0 :(得分:4)

搜索了一段时间后,我终于找到了解决方案。答案是在谷歌文档中,它自己只是通过this link

它显示了如何使用google calender api创建活动。

答案 1 :(得分:3)

这是一个巨大的痛苦 - 但我终于让它至少为创造事件而努力。

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

我最初只为事件详细信息设置了一些变量,如果需要,可以创建一个推送这些变量的表单。

这是我的代码:

<?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>";
    }
?>