首页 > 解决方案 > 带有php的谷歌日历v3 api不发送与会者

问题描述

我正在使用谷歌日历 v3 和 php,活动已正确插入,但是我尝试将邀请发送给与会者,但它不起作用,有人能指出我正确的方向吗?

这是我发送的数组:

array(5) {
  ["summary"]=>
  string(6) "prueba"
  ["attendees"]=>
  array(1) {
    ["email"]=>
    string(22) "example@gmail.com"
  }
  ["params"]=>
  array(2) {
    ["sendUpdates"]=>
    string(3) "all"
    ["sendNotifications"]=>
    string(4) "true"
  }
  ["start"]=>
  array(2) {
    ["dateTime"]=>
    string(19) "2021-03-05T09:49:00"
    ["timeZone"]=>
    string(14) "America/Bogota"
  }
  ["end"]=>
  array(2) {
    ["dateTime"]=>
    string(19) "2021-03-05T10:49:00"
    ["timeZone"]=>
    string(14) "America/Bogota"
  }
}

这是代码:

public function CreateCalendarEvent($calendar_id, $summary, $all_day, $event_time, $event_timezone, $access_token) {
    $url_events = 'https://www.googleapis.com/calendar/v3/calendars/' . $calendar_id . '/events';

    $curlPost = array('summary' => $summary);
    $curlPost['attendees'] = array('email' =>"example@gmail.com");
    $curlPost['params'] = array('sendUpdates' =>"all", 'sendNotifications' => "true");
    if($all_day == 1) {
        $curlPost['start'] = array('date' => $event_time['event_date']);
        $curlPost['end'] = array('date' => $event_time['event_date']);
    }
    else {
        $curlPost['start'] = array('dateTime' => $event_time['start_time'], 'timeZone' => $event_timezone);
        $curlPost['end'] = array('dateTime' => $event_time['end_time'], 'timeZone' => $event_timezone);
    }

    $ch = curl_init();      
    curl_setopt($ch, CURLOPT_URL, $url_events);     
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);        
    curl_setopt($ch, CURLOPT_POST, 1);      
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Bearer '. $access_token, 'Content-Type: application/json')); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($curlPost));   
    $data = json_decode(curl_exec($ch), true);
    $http_code = curl_getinfo($ch,CURLINFO_HTTP_CODE);      
    if($http_code != 200) 
        throw new Exception('Error : Failed to create event');

    return $data['id'];
}

标签: phpcurlgoogle-calendar-api

解决方案


推荐阅读