[使用Google APIs Client Library for PHP,我试图创建一个新的日历事件并附加一个hangoutsMeet
会议。尝试这样做时,出现错误,提示Invalid conference type value
。
使用相同的代码,我可以创建一个新事件并附加一个eventHangout
会议。
我了解为什么会收到错误:我的日历仅支持eventHangout
会议类型。
-----于2020年4月3日编辑以添加更多详细信息-----
但是,仅当我尝试通过API创建事件时,这才显示为限制。当我使用Google日历界面手动创建活动时,我am能够添加Google Meet。实际上,这是下拉菜单中显示的唯一会议选项。
-----结束编辑-----
我的问题是,如何更新日历设置(使用或不使用API),以便可以使用API创建带有hangoutsMeet
会议的事件?
这里有一些示例代码来演示我已经尝试过的内容:
try {
// fetch the calendar
$calendar = 'myCalendar';
$calendarObject = $service->calendars->get($calendar);
echo "<pre>";
echo "\nORIGINAL *******************************************************\n\n";
var_dump($calendarObject->getConferenceProperties()->getAllowedConferenceSolutionTypes());
// set the allowed conferences solutions type
$calendarObject->getConferenceProperties()->setAllowedConferenceSolutionTypes(
array(
"hangoutsMeet",
"eventHangout",
"eventNamedHangout",
)
);
echo "\nUPDATED *******************************************************\n\n";
var_dump($calendarObject->getConferenceProperties()->getAllowedConferenceSolutionTypes());
// save the changes to the calendar
$calendarObject = $service->calendars->patch($calendar, $calendarObject);;
echo "\nSAVED *********************************************************\n\n";
var_dump($calendarObject->getConferenceProperties()->getAllowedConferenceSolutionTypes());
// add a createRequest to my event
$event->setConferenceData(new Google_Service_Calendar_ConferenceData(array(
'createRequest' => array(
'requestId' => time(),
'conferenceSolutionKey' => array(
'type' => 'hangoutsMeet',
)
)
)));
// save the event
$event = $service->events->insert($calendar, $event, array(
'conferenceDataVersion' => 1
));
} catch (Google_Service_Exception $e) {
echo "\nERRORS ********************************************************\n\n";
var_dump($e->getErrors());
die;
}
这是上面的输出:
ORIGINAL *******************************************************
array(1) {
[0]=>
string(12) "eventHangout"
}
UPDATED *******************************************************
array(3) {
[0]=>
string(12) "hangoutsMeet"
[1]=>
string(12) "eventHangout"
[2]=>
string(17) "eventNamedHangout"
}
SAVED *********************************************************
array(1) {
[0]=>
string(12) "eventHangout"
}
ERRORS ********************************************************
array(1) {
[0]=>
array(3) {
["domain"]=>
string(6) "global"
["reason"]=>
string(7) "invalid"
["message"]=>
string(30) "Invalid conference type value."
}
}
其他详细信息:
[使用G Suite时,应使用eventNamedHangout
类型。如eventHangout
资源的文档中所述,event类型适用于使用者:
可能的值是:
“” eventHangout“用于针对消费者的环聊(http://hangouts.google.com)
“ eventNamedHangout”(针对G Suite用户的传统环聊(http://hangouts.google.com)
“” hangoutsMeet“代表环聊聚会(http://meet.google.com)
“ 3P会议提供商的“ addOn”