api - 如何在谷歌 API 日历中使用“getresponsestatus”
问题描述
我正在从事一个项目,我需要咨询与会者的回复。我想创建一个脚本,每隔一小时检查是否有与会者更改了您的响应状态,但我找不到任何文档,这是我插入事件时的代码示例:
if (isset($_SESSION['access_token'])) {
$client->setAccessToken($_SESSION['access_token']);
$service = new Google_Service_Calendar($client);
$event = new Google_Service_Calendar_Event(array(
'summary' => $summary,
'location' => $location,
'description' => $descripcion,
'colorId'=> "5",
'start' => array(
'dateTime' => $datetimeini,
'timeZone' => 'America/Caracas'
),
'end' => array(
'dateTime' => $datetimeini,
'timeZone' => 'America/Caracas'
),
'recurrence' => array(
'RRULE:FREQ=DAILY;COUNT=1'
),
'attendees' => array(
array('email' => $paciente,'responseStatus'=> 'needsAction'),
array('email' => $doctor)
),
'reminders' => array(
'useDefault' => FALSE,
'overrides' => array(
array('method' => 'email', 'minutes' => 12 * 60),
array('method' => 'popup', 'minutes' => 60)
),
),
));
$new_event = null;
$new_event_id = "";
$new_event = $service->events->insert($idcalendar, $event);
if($new_event!=null){
$new_event_id= $new_event->getid();
$event = $service->events->get($idcalendar,$new_event_id);
$response = new Google_Service_Calendar_EventAttendee($client);
if($event != null){
$resultado=array(
"respuesta"=>"exitoso",
"id evento"=>$event->getid(),
"sumario"=>$event->getSummary(),
"estado"=>$event->getstatus(),
"response"=>$event->getresponseStatus()
);
}else{
echo 'hay problemas.';
}
如果我在响应时尝试此代码,我只会得到null
. 我想得到真正的回应。
解决方案
您可以使用Events: watch
监视事件资源更改的方法。
HTTP 请求
POST https://www.googleapis.com/calendar/v3/calendars/calendarId/events/watch
在请求正文中,提供具有以下结构的数据:
{ "id": string, "token": string, "type": string, "address": string, "params": { "ttl": string } }
推荐阅读
- php - PHP 邮件功能停止工作
- python - 如何使用 click CLI 框架接受不定数量的选项(以及如何查询它们的名称/值)?
- java - 如何在 DAO 中实现方法?
- html - 尝试将底部单选按钮与上面的行对齐
- c# - Linq 在字典中的多个列上不同
- python - 为什么 dropna 似乎不适用于此专栏?
- javascript - Reactjs - 从数组中添加/删除项目并使用复选框存储
- angular - 如何在 Angular 2 中设置属性 d pf 路径元素?
- vba - VBA - 日期参考
- ruby-on-rails - 无法使用 docker-compose.yml 从 Rails sidekiq 连接到 selenium-hub