Google 日历 API - 获取日历中的事件 ID

Google Calender API - Get eventID In a Calender

我需要获取日历的 eventID。我列出了事件和一些关于它们的信息,但我无法获得它们的 ID。我使用了这个文档:https://developers.google.com/calendar/api/v3/reference/events/list

// Print the next 10 events on the user's calendar.
$calendarId = 'xxxx@group.calendar.google.com';
$optParams = array(
  'maxResults' => 100,
  'orderBy' => 'startTime',
  'singleEvents' => true,
  'timeMin' => date('c', strtotime("monday -1 week")),
  'timeMax' => date('c'),
  
  
  
);
$results = $service->events->listEvents($calendarId, $optParams);
$events = $results->getItems();

if (empty($events)) {
    print "No upcoming events found.\n";
} else {
    //print "Upcoming events:\n";
    foreach ($events as $event) {
        $start = $event->start->dateTime;
        if (empty($start)) {
            $start = $event->start->date;
        }
        printf("%s %s\n", $event->getSummary(), $start);
    }
}

}

方法events.list

Returns 回复

{
  "kind": "calendar#events",
  "etag": etag,
  "summary": string,
  "description": string,
  "updated": datetime,
  "timeZone": string,
  "accessRole": string,
  "defaultReminders": [
    {
      "method": string,
      "minutes": integer
    }
  ],
  "nextPageToken": string,
  "nextSyncToken": string,
  "items": [
    events Resource
  ]
}

其中包含Event Resources

的列表

事件资源有一个名为 id 的字段。

{
  "kind": "calendar#event",
  "etag": etag,
  "id": string,
  ....

因此,根据您使用的语言,只需遍历该方法返回的每个项目,然后访问该事件的 ID。

C# 示例。

 foreach(var event in response.Items){

    Console.WriteLine(event.Id)
  }