只是为了说明,我想使用这里找到的Google Client PHP API来完成此操作。
我刚刚把所有的日历事件导入到我的个人网站。现在我想要同步我可能已经添加到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文档,有一段用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
如何通过谷歌API PHP客户端实现相同的结果?
找到了。它在一个附加的选项数组中传递到listEvents中,如果你在代码中挖掘一点:
$event_list = $service->events->listEvents('my_calendar_id', ['syncToken' => 'my_old_calendar_sync_token']);