我在我的php webapp中使用google-api-php-client很长一段时间来插入日历事件,驱动器文件,发送邮件等等。一切正常。
关于日历,我要求用户删除特定类型活动的默认提醒。
我使用了以下过程:我的Google应用的所有用户都使用特定帐户分享了他们的日历,并使用此特定地址来设置库。
我无法使用此处文档中描述的指定方法:
https://developers.google.com/google-apps/calendar/v3/reference/events/insert
以下代码:
$event = new Google_Service_Calendar_Event(array(
'summary' => 'Google I/O 2015',
'location' => '800 Howard St., San Francisco, CA 94103',
...
...
'reminders' => array(
'useDefault' => FALSE,
'overrides' => array(
array('method' => 'email', 'minutes' => 24 * 60),
array('method' => 'popup', 'minutes' => 10),
),
),
));
只有在我直接使用OAuth中的目标帐户时才会有效;尝试"在谷歌页面上。
假设我想为bla@bla.com创建一个活动而不使用try it google页面检索他的默认提醒,我必须使用bla@bla.com来OAuth。在这种情况下,默认提醒不会被使用,我会按预期获得2个提醒(电子邮件24 * 60和弹出窗口10)。
如果我将我的特定帐户用于OAuth,我可以在bla@bla.com帐户上创建活动(因为日历是共享的),但在这种情况下,useDefault => false似乎被省略,并且使用bla@bla.com上设置的默认提醒而不是预期的2 ...
使用我的webApp或谷歌尝试它的结果是相同的,我认为这不是google-api-php-client的错误用法。
任何帮助都将不胜感激。
的Seb
答案 0 :(得分:0)
关于setUseDefault(false);
的使用实际上有一个提升issue in GitHub并且基于帖子
使用
string
代替boolean
似乎可以解决此问题。
这是通过替换
来解决的 $set_reminders->setUseDefault(false);
与
$set_reminders->setUseDefault("false");
我希望这也适合你。