我创建了数百个日历而不是分配用户。我需要定期更新日历,因此我需要为每个日历创建自定义ID。无论我使用什么,它都会以无效ID返回
下面是我在PHP中的脚本
require_once __DIR__ . '/vendor/autoload.php';
define('APPLICATION_NAME', 'Assignments Calendar');
putenv('GOOGLE_APPLICATION_CREDENTIALS=' . __DIR__ . '/Assignment_Calendars-701dce094981.json');
define('SCOPES', implode(' ', array(
Google_Service_Calendar::CALENDAR)
));
$client = new Google_Client();
$client->useApplicationDefaultCredentials();
$client->setScopes(SCOPES);
$calendarServiceAccount = new Google_Service_Calendar($client);
$calendarId="abcdefghijklmnopqrstuvwxyz1234567890";
$newCalendar = new Google_Service_Calendar_Calendar();
$newCalendar->setSummary("testing");
$newCalendar->setTimeZone('America/Chicago');
$newCalendar->setId($calendarId);
$calendar = $calendarServiceAccount->calendars->insert($newCalendar);
我的错误讯息是
PHP Fatal error: Uncaught Google_Service_Exception: {
"error": {
"errors": [
{
"domain": "global",
"reason": "invalid",
"message": "Invalid resource id value."
}
],
"code": 400,
"message": "Invalid resource id value."
}
}
无论我将$ calendarId改为它都会得到同样的错误。如果我删除 $ newCalendar-> SETID($ calendarId);它完美地运作
答案 0 :(得分:0)
您无法分配自定义ID,日历的ID由API定义。请参阅API reference。
您必须创建日历,在insert
电话后阅读$ calendar-> id值并将其存储在某处以便以任何方式将其链接到用户。