PHP / Laravel谷歌APi与日历 - 响应空

时间:2017-11-14 18:38:47

标签: php google-api laravel-5.3 google-calendar-api

我正在运行以下代码作为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个测试日历。

1 个答案:

答案 0 :(得分:0)

我发现了问题所在。 Google无视文档的原因是,无论您是否可以在开发者控制台中使用所有者帐户使用其所有测试API,您都必须添加@ web-calendar - ******。iam.gserviceaccount.com并使用对您要管理的日历的适当权限添加共享。

需要注意的另一点是,当您共享它时,即使您在添加共享时为其提供了适当的权限,它也会将权限降级为只读。我不得不改变并保存3次以使其坚持下去。