You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Calendar API PHP创建事件时权限不足问题求助

解决Google Calendar API创建事件时的Insufficient Permission错误

你遇到的权限问题,核心原因是已保存的授权凭证权限不足——虽然代码里指定了读写权限的Scope,但如果第一次授权时用的是只读权限(或者凭证文件没更新到新的Scope),就会出现能读不能写的情况。下面是具体的解决步骤:

1. 确认Scope设置正确

你的代码里已经使用了正确的读写权限Scope,这部分没问题:

define('SCOPES', implode(' ', array( Google_Service_Calendar::CALENDAR) ));

Google_Service_Calendar::CALENDAR对应的是完整的日历读写权限,完全满足创建事件的需求。

2. 删除旧的授权凭证文件

之前授权生成的凭证文件已经保存了旧的权限范围,必须删除后重新授权:

  • 找到凭证路径:~/.credentials/calendar-php-quickstart.json(Windows系统对应你的用户目录下的.credentials文件夹)
  • 删除这个calendar-php-quickstart.json文件

3. 重新运行代码完成授权

再次执行PHP代码,会弹出一个授权链接,按以下步骤操作:

  • 打开链接后选择你要操作的谷歌账号
  • 在授权页面中,务必确认授予查看和编辑你的日历的权限(不要选只读)
  • 输入验证码完成授权,新的凭证会自动保存,此时就拥有创建事件的权限了

额外提醒:修正事件日期的逻辑错误

你的代码里还有一个容易踩坑的问题:事件的start日期是2018年,end日期却是2015年,这会导致API返回日期无效的错误,建议修正为合理的时间范围,比如:

'start' => array(
  'dateTime' => '2024-01-28T09:00:00-07:00',
  'timeZone' => 'America/Los_Angeles',
),
'end' => array(
  'dateTime' => '2024-01-28T17:00:00-07:00',
  'timeZone' => 'America/Los_Angeles',
),

完成以上步骤后,重新运行代码应该就能成功创建事件了。

内容的提问来源于stack exchange,提问作者user2399035

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:10:17