[英]How to retrieve Google Calendar event ID after creating event in PHP
我有一个PHP文件,该文件将根据从CRM中发布的数据在Google日历中成功创建一个事件,但是,我找不到任何有关如何检索刚刚创建的事件的ID并返回JSON数据字符串的文档。 。
这是我当前的PHP文件。
<?php
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"];
$client_email = 'xxxxxxxx@xxxxxxxx.iam.gserviceaccount.com';
$private_key = file_get_contents('xxxxxx.p12');
$scopes = array('https://www.googleapis.com/auth/calendar');
$user_to_impersonate = 'xxxxxxx@xxxxxxxxxxx.com';
$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();
}
$event = new Google_Service_Calendar_Event(array(
'summary' => $summary,
'location' => $location,
'description' => $description,
'start' => array(
'dateTime' => $startdatetime,
'timeZone' => 'America/Los_Angeles',
),
'end' => array(
'dateTime' => $enddatetime,
'timeZone' => 'America/Los_Angeles',
),
'reminders' => array(
'useDefault' => FALSE,
),
));
$service = new Google_Service_Calendar($client);
$calendarId = 'southbay@unlikelylegendsmedia.com';
$event = $service->events->insert($calendarId, $event);
如果您知道相应的calendarID
,则可以使用Events:list 。
通过发送带有calendarId
参数的HTTP请求,可以检索eventId
。 要求类似:
GET https://www.googleapis.com/calendar/v3/calendars/calendarId/events
如果请求成功,则此方法可以返回带有单个一次性事件和重复事件实例的响应主体。
示例PHP代码:
$events = $service->events->listEvents('primary');
while(true) {
foreach ($events->getItems() as $event) {
echo $event->getSummary();
}
$pageToken = $events->getNextPageToken();
if ($pageToken) {
$optParams = array('pageToken' => $pageToken);
$events = $service->events->listEvents('primary', $optParams);
} else {
break;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.