Google 日历 API - 创建事件以发送更新
Google Calendar API - Create Events to Send Updates
我正在尝试向我的 Google 日历事件中添加一些 'flags'。我正在使用 PHP API。最具体地说,我正在尝试设置 ['sendUpdates'=>'all'] 标志,以便每当修改活动时,与会者列表中的所有人都会收到通知。我试图在 inserting/creating 事件中添加此参数。我也尝试过使用补丁。但是好像没有效果。
下面是一些示例代码:
$opts = [
'start' => [
'date' => '2021-10-11',
'timeZone' => 'US/Pacific'
],
'end' => [
'date' => '2021-10-11',
'timeZone' => 'US/Pacific'
],
'summary' => 'TEST EVENT',
'description' => 'Test description',
'attendees' => [['email'=>'test@test.com']],
'guestsCanModify' => false,
'guestsCanInviteOthers' => true,
'guestsCanSeeOtherGuests' => true,
'reminders' => [
'useDefault' => true,
],
'sendUpdates' => 'all',
];
$event = new \Google_Service_Calendar_Event($opts);
$new_event = $service->events->insert($calendar_id, $event);
然后在这不起作用之后,我只是尝试 'patch' 使用以下事件:
$service->events->patch($calendar_id, $new_event['id'], $new_event, ['sendUpdates'=>'all']);
None 正在努力正确设置 'sendUpdates' 标志。它确实创建了事件。几乎 运行 没有关于如何解决这个问题的选项。关于如何执行此操作的文档非常不清楚,并且在 Stack Overflow 或其他任何地方都找不到太多内容。
有人有什么建议吗?
您非常接近设置 sendUpdates
parameter to all
. Beforehand you have to keep in mind that sendUpdates
is a parameter, not a property. Therefore you should set it in the method,不在请求正文中。所以你只需要把脚本修改成这样:
$opts = [
'start' => [
'date' => '2021-10-11',
'timeZone' => 'US/Pacific'
],
'end' => [
'date' => '2021-10-11',
'timeZone' => 'US/Pacific'
],
'summary' => 'TEST EVENT',
'description' => 'Test description',
'attendees' => [['email'=>'test@test.com']],
'guestsCanModify' => false,
'guestsCanInviteOthers' => true,
'guestsCanSeeOtherGuests' => true,
'reminders' => [
'useDefault' => true,
],
];
$optionalParameters = array(
"sendUpdates" => "all"
);
$event = new \Google_Service_Calendar_Event($opts);
$new_event = $service->events->insert($calendar_id, $event, $optionalParameters);
我正在尝试向我的 Google 日历事件中添加一些 'flags'。我正在使用 PHP API。最具体地说,我正在尝试设置 ['sendUpdates'=>'all'] 标志,以便每当修改活动时,与会者列表中的所有人都会收到通知。我试图在 inserting/creating 事件中添加此参数。我也尝试过使用补丁。但是好像没有效果。
下面是一些示例代码:
$opts = [
'start' => [
'date' => '2021-10-11',
'timeZone' => 'US/Pacific'
],
'end' => [
'date' => '2021-10-11',
'timeZone' => 'US/Pacific'
],
'summary' => 'TEST EVENT',
'description' => 'Test description',
'attendees' => [['email'=>'test@test.com']],
'guestsCanModify' => false,
'guestsCanInviteOthers' => true,
'guestsCanSeeOtherGuests' => true,
'reminders' => [
'useDefault' => true,
],
'sendUpdates' => 'all',
];
$event = new \Google_Service_Calendar_Event($opts);
$new_event = $service->events->insert($calendar_id, $event);
然后在这不起作用之后,我只是尝试 'patch' 使用以下事件:
$service->events->patch($calendar_id, $new_event['id'], $new_event, ['sendUpdates'=>'all']);
None 正在努力正确设置 'sendUpdates' 标志。它确实创建了事件。几乎 运行 没有关于如何解决这个问题的选项。关于如何执行此操作的文档非常不清楚,并且在 Stack Overflow 或其他任何地方都找不到太多内容。
有人有什么建议吗?
您非常接近设置 sendUpdates
parameter to all
. Beforehand you have to keep in mind that sendUpdates
is a parameter, not a property. Therefore you should set it in the method,不在请求正文中。所以你只需要把脚本修改成这样:
$opts = [
'start' => [
'date' => '2021-10-11',
'timeZone' => 'US/Pacific'
],
'end' => [
'date' => '2021-10-11',
'timeZone' => 'US/Pacific'
],
'summary' => 'TEST EVENT',
'description' => 'Test description',
'attendees' => [['email'=>'test@test.com']],
'guestsCanModify' => false,
'guestsCanInviteOthers' => true,
'guestsCanSeeOtherGuests' => true,
'reminders' => [
'useDefault' => true,
],
];
$optionalParameters = array(
"sendUpdates" => "all"
);
$event = new \Google_Service_Calendar_Event($opts);
$new_event = $service->events->insert($calendar_id, $event, $optionalParameters);