Google API PHP 客户端:如何使用同步令牌在日历之间提取更改的事件?
Google API PHP Client: How do I pull the changed events between calendars using the sync token?
只是说明一下,我想使用 Google 客户端 PHP API 找到 here.
我刚刚将所有日历活动导入到我的个人网站中。现在我想同步我可能已添加到 Google 日历中的事件。最理想的情况是,这会在页面加载时发生——我会检查我的最后一个同步令牌,将它与当前的同步令牌进行比较,这会给我一个已更改事件的列表。
我是不是想错了?这就是我想要做的:
// grab all of my events that have changed from the sync token provided
// to the current sync token now
$event_list = $service->events->listEvents('my_calendar_id');
$event_list->setNextSyncToken('my_old_calendar_sync_token);
所有这一切都是为了覆盖从第一个请求中检索到的同步令牌。阅读 API 文档 here,在 Java 中指定了一段代码,显示了在执行请求之前设置的同步令牌,这很可能是问题所在。
我什至尝试过类似的东西:
$event_list = $service->events
->listEvents('my_calendar_id')
->setNextSyncToken('my_old_calendar_sync_token);
(想知道将它们设置在同一行是否会在请求中被解释)
虽然它不是通过我所指的 API,但文档确实指定这可能是通过此 GET 请求:
GET /calendars/primary/events?maxResults=10&singleEvents=true&syncToken=CPDAlvWDx70CEPDAlvWDx
如何通过 Google API PHP 客户端实现相同的结果?
找到了。如果你仔细研究一下,它位于代码中找到的传递给 listEvents 的附加选项数组中:
$event_list = $service->events->listEvents('my_calendar_id', ['syncToken' => 'my_old_calendar_sync_token']);
只是说明一下,我想使用 Google 客户端 PHP API 找到 here.
我刚刚将所有日历活动导入到我的个人网站中。现在我想同步我可能已添加到 Google 日历中的事件。最理想的情况是,这会在页面加载时发生——我会检查我的最后一个同步令牌,将它与当前的同步令牌进行比较,这会给我一个已更改事件的列表。
我是不是想错了?这就是我想要做的:
// grab all of my events that have changed from the sync token provided
// to the current sync token now
$event_list = $service->events->listEvents('my_calendar_id');
$event_list->setNextSyncToken('my_old_calendar_sync_token);
所有这一切都是为了覆盖从第一个请求中检索到的同步令牌。阅读 API 文档 here,在 Java 中指定了一段代码,显示了在执行请求之前设置的同步令牌,这很可能是问题所在。
我什至尝试过类似的东西:
$event_list = $service->events
->listEvents('my_calendar_id')
->setNextSyncToken('my_old_calendar_sync_token);
(想知道将它们设置在同一行是否会在请求中被解释)
虽然它不是通过我所指的 API,但文档确实指定这可能是通过此 GET 请求:
GET /calendars/primary/events?maxResults=10&singleEvents=true&syncToken=CPDAlvWDx70CEPDAlvWDx
如何通过 Google API PHP 客户端实现相同的结果?
找到了。如果你仔细研究一下,它位于代码中找到的传递给 listEvents 的附加选项数组中:
$event_list = $service->events->listEvents('my_calendar_id', ['syncToken' => 'my_old_calendar_sync_token']);