已插入Google日历活动但不存在

时间:2017-05-16 15:32:48

标签: php events insert google-calendar-api

我正在尝试使用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已存在。但日历中没有任何内容......

请帮帮我! 谢谢。

1 个答案:

答案 0 :(得分:0)

您没有在此处发布完整的get-events请求,但您的请求中可能会有一些过滤器会过滤掉某些事件,因此当您发送请求时,它不会包含所有事件。< / p>

例如,有一个名为DateTime的{​​{1}}参数,它会过滤掉该DateTime之前的所有事件,例如,如果您将其设置为TimeMin,那么您赢了& #39; t访问从现在起一年之前安排的任何活动。