我正在运行以下代码作为Laravel命令......
$cfg = Config::get('calendar');
$client = new \Google_Client();
$client->setApplicationName('Test Application');
$client->addScope(\Google_Service_Calendar::CALENDAR);
$client->setAuthConfig($cfg['authConfig']);
$service = new \Google_Service_Calendar($client);
$calendarList = $service->calendarList->listCalendarList();
while (true) {
foreach ($calendarList->getItems() as $calendarListEntry) {
echo $calendarListEntry->getSummary();
}
$pageToken = $calendarList->getNextPageToken();
if ($pageToken) {
$optParams = array('pageToken' => $pageToken);
$calendarList = $service->calendarList->listCalendarList($optParams);
} else {
break;
}
}
身份验证很好,一切似乎都有效,但我找回getItems()
不确定我错过了什么。让我知道如果你需要更多的信息,我得到一个回应,它总是只是“无项目”。我在帐户上有4个测试日历。
答案 0 :(得分:0)
我发现了问题所在。 Google无视文档的原因是,无论您是否可以在开发者控制台中使用所有者帐户使用其所有测试API,您都必须添加@ web-calendar - ******。iam.gserviceaccount.com并使用对您要管理的日历的适当权限添加共享。
需要注意的另一点是,当您共享它时,即使您在添加共享时为其提供了适当的权限,它也会将权限降级为只读。我不得不改变并保存3次以使其坚持下去。