Updating Google Calendar - Fatal error: Call to undefined function dateTime()
Updating Google Calendar - Fatal error: Call to undefined function dateTime()
我正在尝试使用 PHP API 更新 Google 日历。我已成功创建 Google 日历事件并自动获取事件的 ID,但是当我尝试更新事件时,出现此错误:
PHP 致命错误:在第 45 行 public_html/googleapi/calendarupdate.php 中调用未定义的函数 dateTime()。它指的是行:
$event->setStart.dateTime($startdatetime);
这是我当前的 PHP 错误代码:
<?php
header('Content-type: application/json');
require_once __DIR__ . '/google-api-php-client/src/Google/autoload.php';
$summary = $_POST["summary"];
$location = $_POST["location"];
$description = $_POST["description"];
$startdatetime = $_POST["startdatetime"];
$enddatetime = $_POST["enddatetime"];
$clientemail = $_POST["clientemail"];
$privatekey = $_POST["privatekey"];
$useremail = $_POST["useremail"];
$calendarid = $_POST["calendarid"];
$client_email = $clientemail;
$private_key = file_get_contents($privatekey);
$scopes = array('https://www.googleapis.com/auth/calendar');
$user_to_impersonate = $useremail;
$credentials = new Google_Auth_AssertionCredentials(
$client_email,
$scopes,
$private_key,
'notasecret', // Default P12 password
'http://oauth.net/grant_type/jwt/1.0/bearer', // Default grant type
$user_to_impersonate
);
$client = new Google_Client();
$client->setAssertionCredentials($credentials);
if ($client->getAuth()->isAccessTokenExpired()) {
$client->getAuth()->refreshTokenWithAssertion();
}
$service = new Google_Service_Calendar($client);
$event = $service->events->get($useremail, $calendarid);
$event->setSummary($summary);
$event->setLocation($location);
$event->setStart.dateTime($startdatetime);
$event->setStart.timeZone('America/Los_Angeles');
$event->setEnd.dateTime($enddatetime);
$event->setEnd.timeZone('America/Los_Angeles');
$event->setDescription($description);
$updatedEvent = $service->events->update($useremail, $event->getId(), $event);
echo json_encode($updatedEvent);
我的 PHP 代码基于 Google 的 API 找到的文档 here。
好吧,我真的想明白了。我只需要更改行:
$event->setStart.dateTime($startdatetime);
为此:
$event->start->setDateTime($startdatetime);
我对结束日期时间做同样的一般事情,除了它说开始的地方,我只是把结束。刚刚对其进行了测试,并且效果很好。可以找到帮助我的网站 here.
我正在尝试使用 PHP API 更新 Google 日历。我已成功创建 Google 日历事件并自动获取事件的 ID,但是当我尝试更新事件时,出现此错误:
PHP 致命错误:在第 45 行 public_html/googleapi/calendarupdate.php 中调用未定义的函数 dateTime()。它指的是行:
$event->setStart.dateTime($startdatetime);
这是我当前的 PHP 错误代码:
<?php
header('Content-type: application/json');
require_once __DIR__ . '/google-api-php-client/src/Google/autoload.php';
$summary = $_POST["summary"];
$location = $_POST["location"];
$description = $_POST["description"];
$startdatetime = $_POST["startdatetime"];
$enddatetime = $_POST["enddatetime"];
$clientemail = $_POST["clientemail"];
$privatekey = $_POST["privatekey"];
$useremail = $_POST["useremail"];
$calendarid = $_POST["calendarid"];
$client_email = $clientemail;
$private_key = file_get_contents($privatekey);
$scopes = array('https://www.googleapis.com/auth/calendar');
$user_to_impersonate = $useremail;
$credentials = new Google_Auth_AssertionCredentials(
$client_email,
$scopes,
$private_key,
'notasecret', // Default P12 password
'http://oauth.net/grant_type/jwt/1.0/bearer', // Default grant type
$user_to_impersonate
);
$client = new Google_Client();
$client->setAssertionCredentials($credentials);
if ($client->getAuth()->isAccessTokenExpired()) {
$client->getAuth()->refreshTokenWithAssertion();
}
$service = new Google_Service_Calendar($client);
$event = $service->events->get($useremail, $calendarid);
$event->setSummary($summary);
$event->setLocation($location);
$event->setStart.dateTime($startdatetime);
$event->setStart.timeZone('America/Los_Angeles');
$event->setEnd.dateTime($enddatetime);
$event->setEnd.timeZone('America/Los_Angeles');
$event->setDescription($description);
$updatedEvent = $service->events->update($useremail, $event->getId(), $event);
echo json_encode($updatedEvent);
我的 PHP 代码基于 Google 的 API 找到的文档 here。
好吧,我真的想明白了。我只需要更改行:
$event->setStart.dateTime($startdatetime);
为此:
$event->start->setDateTime($startdatetime);
我对结束日期时间做同样的一般事情,除了它说开始的地方,我只是把结束。刚刚对其进行了测试,并且效果很好。可以找到帮助我的网站 here.