【问题标题】:Microsoft Graph API serviceNotAvailable error when getting site by ID通过 ID 获取站点时出现 Microsoft Graph API serviceNotAvailable 错误
【发布时间】:2020-03-04 17:59:31
【问题描述】:

我在尝试获取由使用 Graph API 的 Post 成功创建的 Sharepoint 站点时收到 HTTP 503 状态 MSFT Graph API 错误。

我正在使用 Developer O365 订阅。

正在使用使用 MSFT MSAL 库来管理身份验证令牌的 Python 应用程序。我能够使用 python 应用程序成功调用 Graph API 的其他部分。使用 Graph Explorer 登录到我的帐户并使用站点权限时,我得到了正确的成功响应。 python 应用程序在大约 10-40 个请求后工作了一两个小时,但现在由于 serviceNotAvailable 错误而被冻结。

python客户端的AD应用权限为:

  • Directory.ReadWrite.All
  • 组.创建
  • Group.ReadWrite.All
  • Sites.FullControl.All
  • Sites.Manage.All
  • Sites.Read.All
  • Sites.ReadWrite.All
  • User.Read

我调用 GET 的端点是: https://graph.microsoft.com/v1.0/sites/mydomain,some-uuid

我得到的响应头是:

{
'Cache-Control': 'private', 
'Content-Type': 'application/json', 
'request-id': 'ff8256de-f833-4916-85c2-2ee229a68135', 
'client-request-id': 'ff8256de-f833-4916-85c2-2ee229a68135', 
'x-ms-ags-diagnostic': '{
"ServerInfo":{
"DataCenter":"North Central US",
"Slice":"SliceC",
"Ring":"3",
"ScaleUnit":"002",
"RoleInstance":"AGSFE_IN_3"}}', 
'Strict-Transport-Security': 'max-age=31536000', 
'Date': 'Wed, 04 Mar 2020 17:47:03 GMT', 
'Content-Length': '306'
}

响应正文是:

{
  "error": {
    "code": "serviceNotAvailable",
    "message": "The service is not available. Try the request again after a delay. There may be a Retry-After header.",
    "innerError": {
      "request-id": "ff8256de-f833-4916-85c2-2ee229a68135",
      "date": "2020-03-04T17:47:03"
    }
  }
}

我在 MSFT 文档中读到,这是违反使用条款的限制错误,并且 Graph Explorer 不受限制限制。我从来没有得到“重试后”标题。

有人知道如何让我的 API 调用成功吗?如何重置 MSFT 的限制?我可能在一小时内进行 100 到 150 次 Graph API 调用。

【问题讨论】:

    标签: sharepoint microsoft-graph-api microsoft-graph-sdks


    【解决方案1】:

    我们在多个 Office365 租户中遇到了这个问题。我们联系了微软,他们说这是他们正在修复的服务器端错误。他们现在正在为我们的一位客户部署修复程序。 这不是限制,因为错误发生在第一个 API 调用中。不幸的是,除了向 Microsoft 开一张票外,您对此无能为力。 顺便说一句,这个电话已经运行了一年多。该错误于 2020 年 2 月开始出现。

    【讨论】:

    • @rafa-ayada:我们在多个免费和许可的租户中遇到了这个 MSFT 服务器端错误。我们只是为这个问题购买了 Azure 开发人员支持,但 MSFT 表示它需要 Sharepoint 开发人员支持。我会赞成您的评论,但我没有声誉积分。 :{
    【解决方案2】:

    我在访问站点 API 中的任何资源时遇到问题是由于同时授予了 Groups.Create 和 Groups.ReadWrite.All 权限以进行应用程序类型访问。

    删除 Groups.Create 允许所有 CRUD 调用成功而没有 serviceNotAvailable 错误,即使是仅访问站点的命令行调用。

    如果您更改测试权限,请务必更新管理员授权和您的令牌。

    用户@user13034886 提到了another post 中的权限冲突。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多