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

调用Microsoft Graph API创建SharePoint List订阅遇400错误求助

SharePoint列表订阅API返回400 InvalidRequest问题排查

问题描述

我正在将Microsoft Graph API与n8n Cloud集成,实现SharePoint列表更新的订阅功能。调用POST /v1.0/subscriptions接口时,尽管请求payload完全按照Graph文档要求编写,却始终返回400 InvalidRequest错误。

我的配置

  • Graph API端点:https://graph.microsoft.com/v1.0/subscriptions
  • 认证方式:Microsoft Graph OAuth2
  • 站点ID:a66e822f-bd3f-4a50-89fc-a1230ec1bde5
  • 列表ID:3fdfc287-aad4-4f2e-b071-cf50d122c193
  • Webhook URL:https://samurai2025.app.n8n.cloud/webhook/graph/intake-validate-v1(已通过curl验证可用性)

请求体

{
  "changeType": "updated",
  "resource": "sites/a66e822f-bd3f-4a50-89fc-a1230ec1bde5/lists/3fdfc287-aad4-4f2e-b071-cf50d122c193",
  "notificationUrl": "https://samurai2025.app.n8n.cloud/webhook/graph/intake-validate-v1",
  "expirationDateTime": "2025-10-10T10:30:00Z",
  "clientState": "CS_9c0e9a9d770e4e7c_b6f6bfb9ffb4421e_5c",
  "latestSupportedTlsVersion": "v1_2"
}

错误信息

{
  "error": {
    "code": "InvalidRequest",
    "message": "Could not process subscription creation payload. Are all property names spelled and camelCased properly? Also are the dateTimeOffset properties in a valid Internet Date and Time format?"
  }
}

已排查项

  • 已通过GET .../sites/{siteId}/lists/{listId}验证站点和列表的存在性与可访问性
  • Webhook URL已通过Graph的挑战验证
  • expirationDateTime采用ISO UTC格式,且有效期在72小时内
  • 请求头的Content-Type已设置为application/json
  • 尝试过最小化payload(仅保留必填字段)和完整payload,结果一致

疑问与求助

创建SharePoint列表订阅是否有额外要求?比如:

  1. 委托权限与应用权限的区别是否会影响订阅创建?
  2. 资源字符串是否有其他格式要求?
  3. 是否缺失Sites.Read.All/Sites.Manage.All这类权限范围?

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 06:24:53