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

调用Canvas API PUT接口设置通知偏好操作失败问题咨询

问题原因排查

422 Unprocessable Entity 报错表示请求格式可被服务端识别,但参数内容/结构不符合接口要求,你的失败请求存在两个核心问题:

  1. 参数使用了中文全角双引号:”immediately“ 中的全角引号无法被curl和服务端正常解析,会被识别为参数内容的一部分
  2. 参数结构不符合Canvas API规范:通知偏好更新接口要求参数携带通知类型的嵌套层级,你当前传的notification_preferences[frequency]缺少对应通知类型的层级,服务端无法定位要修改的配置项

解决方案

方案1:表单格式传参(兼容原有写法)

直接修正引号和参数结构即可,示例如下:

curl.exe https://myschool.instructure.com/api/v1/users/33/communication_channels/38/notification_preferences/new_announcement -d "notification_preferences[new_announcement][frequency]=immediately" -X PUT -H "Authorization: Bearer token"

方案2:JSON格式传参(更稳定,避免转义问题)

指定请求头为JSON格式,传标准JSON结构的请求体,不同环境适配写法如下:

# 非Windows环境
curl.exe https://myschool.instructure.com/api/v1/users/33/communication_channels/38/notification_preferences/new_announcement \
  -d '{"notification_preferences": {"new_announcement": {"frequency": "immediately"}}}' \
  -X PUT \
  -H "Authorization: Bearer token" \
  -H "Content-Type: application/json"

# Windows CMD环境
curl.exe https://myschool.instructure.com/api/v1/users/33/communication_channels/38/notification_preferences/new_announcement -d "{\"notification_preferences\": {\"new_announcement\": {\"frequency\": \"immediately\"}}}" -X PUT -H "Authorization: Bearer token" -H "Content-Type: application/json"

内容的提问来源于stack exchange,提问作者DA-IT

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 15:54:03