我在我的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 to OAuth。在这个场景中,没有使用默认提醒,我得到了2个提醒(email 24 * 60和popup 10),正如预期的那样。
如果我使用我的特定帐户来OAuth,我可以在bla@bla.com帐户上创建事件(因为日历是共享的),但在这种情况下,useDefault => false似乎被省略了,并且使用了在bla@bla.com上设置的默认提醒,而不是预期的2...
由于使用我的webApp或google try it页面的结果是相同的,因此我认为这不是google-api-php-client的错误使用。
任何帮助都将不胜感激。
Seb
发布于 2016-07-22 17:15:28
对于setUseDefault(false);的使用,实际上有一个从线程引发的issue in GitHub
使用string而不是boolean的
似乎解决了这个问题。
此问题已通过替换为
$set_reminders->setUseDefault(false);
使用
$set_reminders->setUseDefault("false");
我希望这对你也适用。
https://stackoverflow.com/questions/38480578
复制相似问题