我正在尝试使用Google Calendar API PHP插入一个事件。我没有错误,我有$event->hmtlLink
,但是当我继续时,谷歌说我“这个事件不存在”。
以下是获取客户端和服务的代码:
putenv("GOOGLE_APPLICATION_CREDENTIALS=" . __DIR__ . "/private/credentials.json");
$client = new Google_Client();
$client->useApplicationDefaultCredentials();
$client->setScopes(SCOPES);
$service = new Google_Service_Calendar($client);
$calendarId = "primary";
这是我用来创建事件的函数:
function createEvent($eventId, $name, $equipe, $location, $description, $startTimeDate, $endTimeDate, $timeZone){
$startTimeDate = new DateTime($startTimeDate);
$startTimeDate = date_format($startTimeDate, DATE_ISO8601);
$endTimeDate = new DateTime($endTimeDate);
$endTimeDate = date_format($endTimeDate, DATE_ISO8601);
$event = new Google_Service_Calendar_Event(array(
'id' => $eventId,
'summary' => join('',array("[",$equipe,"] ",$name)),
'location' => $location,
'description' => $description,
'start' => array(
'dateTime' => $startTimeDate,
'timeZone' => $timeZone,
),
'end' => array(
'dateTime' => $endTimeDate,
'timeZone' => $timeZone,
),
));
global $service, $calendarId;
$event = $service->events->insert($calendarId, $event);
printf($event->htmlLink);
printf($event->status);
printf($event->created);
}
第一个printf给我一个很好的链接,但在开场时:事件不存在
第二次发送“已确认”
第3次发送好日期时间
当我尝试插入具有相同ID的事件时,我发出一条错误消息,指出此ID已存在。但日历中没有任何内容......
请帮帮我! 谢谢。
答案 0 :(得分:0)
您没有在此处发布完整的get-events请求,但您的请求中可能会有一些过滤器会过滤掉某些事件,因此当您发送请求时,它不会包含所有事件。< / p>
例如,有一个名为DateTime
的{{1}}参数,它会过滤掉该DateTime之前的所有事件,例如,如果您将其设置为TimeMin
,那么您赢了& #39; t访问从现在起一年之前安排的任何活动。