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

使用JavaScript创建Teamup日历事件时遭遇权限错误

用JavaScript调用Teamup日历API创建事件时遇到权限错误

请求详情

{ 
  method: 'POST',
  contentType: 'application/json',
  headers: 
  {  
    Accept: 'application/json',
    'Teamup-Token': <api_token>,
    Authorization: 'Bearer <auth_code>' 
  },
  payload: '{"subcalendar_ids":[0],"start_dt":"2024-08-24T14:15:22Z","end_dt":"2024-08-24T14:15:22Z","all_day":false,"tz":"Europe/London","remote_id":"string","title":"Test Title","notes":"Test Desc\n","location":"Home, EX6 6LQ","who":"Test Organiser","signup_enabled":false,"comments_enabled":false}',
  muteHttpExceptions: true 
}

请求地址

https://api.teamup.com/<mycalendarurl>/events

错误响应

{"error":{"id":"no_permission","title":"No permission","message":"You do not have the required permissions to do this. This may be due to a change in permissions of your link since you loaded the calendar. Please refresh the calendar."}}

已做排查

  • 提前获取了<auth_code>认证令牌,未修改过权限配置
  • 尝试过退出浏览器并刷新日历网页,但不清楚提示中“刷新日历”的具体操作
  • 使用的<mycalendarurl>是Teamup控制台共享板块生成的、带修改权限的API专用链接
  • <api_token>来自Teamup官网API密钥申请页面
  • 发现日期带toISOString()生成的毫秒部分会触发格式错误,说明请求逻辑基本通顺,核心问题为权限错误
  • 未找到subcalendar_ids参数文档,暂用示例值0

解决建议

  1. 简化认证头:Teamup API不需要同时使用Teamup-Token和Authorization: Bearer两种认证方式,二者选其一即可。同时传入可能导致权限校验冲突:

    • 若用API密钥(Teamup-Token),确认密钥拥有事件创建权限,且<mycalendarurl>对应的日历允许该密钥访问
    • 若用OAuth令牌(Authorization: Bearer),检查令牌权限范围包含事件创建,且未过期
  2. 修正subcalendar_ids值:0不是有效的子日历ID,调用GET /<mycalendarurl>/subcalendars接口获取实际子日历ID列表,替换为存在且有写入权限的ID,错误的子ID也可能触发权限类报错

  3. 正确执行“刷新日历”:在Teamup网页端打开目标日历,点击顶部刷新按钮或重新加载页面,确保会话权限同步;若用API密钥,可尝试重新生成新密钥替换测试

  4. 再次确认链接权限:检查<mycalendarurl>对应的共享链接,确保勾选了“允许添加/修改/删除事件”,且链接未被禁用或修改过权限

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 22:07:34