PHP调用Google Calendar API修改事件颜色报权限不足如何解决?
解决建议
- 优先清理本地现存的旧授权凭证:你之前如果使用过只读scope完成过OAuth授权,当前session中存储的access token仍然只对应旧的权限范围,哪怕后续在代码中新增了编辑权限scope,旧token也不会自动获得新权限。你可以直接清空当前站点的session数据,或者访问一次授权登录页主动退出原有账号,重新走一遍OAuth授权流程,获取对应新scope的access token即可。
- 简化scope配置避免冲突:你当前代码中同时添加了三个日历相关scope,其中
https://www.googleapis.com/auth/calendar已经包含了事件编辑、查看的所有权限,你可以删除CALENDAR_READONLY和https://www.googleapis.com/auth/calendar.events这两个scope,仅保留最高权限的calendar scope即可,减少权限校验时的异常概率。 - 检查谷歌云后台配置:确认OAuth同意屏幕中你已经添加了用到的日历scope,如果你当前的应用状态还是测试版,需要在测试用户列表中添加你用来授权登录的谷歌账号,未被加入列表的账号无法正常获得授权权限。
- 额外注意代码细节:你当前代码中修改颜色用的
setColorID方法拼写不符合Google PHP客户端的命名规范,正确写法是setColorId(末尾的d为小写),权限问题解决后如果遇到方法不存在的报错可以调整此处拼写。
内容的提问来源于stack exchange,提问作者Diogo Nature
相关产品推荐
相关产品推荐

