当前位置: 首页 > 知识库问答 >
问题:

在MySite(OneDrive/Office e365)上委派管理员访问权限时API'500'错误

卓云
2023-03-14

我重视一些建议,因为我们面临Office 365 API的问题,当我们请求对Office 365 MySites站点集合的委派管理访问权限时,它会返回500个错误。

用例场景如下:我们有独立的组织“A”和“b”,它们都拥有各自的Azure Active Directroy帐户和O365/Azure订阅。组织B希望使用提供给组织A的应用程序,该应用程序要求对其Office365 MySites网站集进行授权管理访问。

组织 B 通过使用 OAuth2 授权过程成功地将应用程序添加到其活动目录帐户,授予应用程序对其公司活动目录所需的权限。

最后一部分是委派组织 B 中的管理员帐户对组织 B 的 Office 365 帐户中的 Mysites 网站集的访问权限。如果我们通过管理面板使用手动过程,一切正常,尽管通过 API 以编程方式收到“500”错误。

我们使用以下调用以编程方式将用户添加为网站集管理员:(请注意:我在下面使用了 [ 虚拟 ID] )

endpointURL:

https://

Body: {'__metadata':{ 'type': 'SP.User' }, 'IsSiteAdmin':'true'}

HTTP Headers:
•   "Content-Type": "application/json; odata=verbose"
•   "X-HTTP-Method": "MERGE"
•   "Authorization": "Bearer <OAuth2 token>"
•   "Accept": "application/json"

根据上述请求,我们尝试将info@_organisationB.com作为网站集管理员添加到 One Drive for Business 服务中的 UserC 个人网站(UserC 由电子邮件UserC@_organisationB.com标识)。用户info@_organisationB.com在组织 B 的 Office365 域中具有全局管理员权限,UserC@_organisationB.com) 是没有管理员权限的基本用户。

该调用返回500 HTTP状态代码(内部服务器错误)和以下消息:

 object(stdClass)[18]
 public 'odata.error' => 
 object(stdClass)[19]   
 public 'code' => string '-2146232832,     Microsoft.SharePoint.SPException' (length=45)
  public 'message' => 
    object(stdClass)[20]
      public 'lang' => string 'en-US' (length=5)
      public 'value' => string 'You need to be a site collection administrator to html" target="_blank">set this property.' (length=68)

据我们所知,API 调用永远不应该返回 500 HTTP 状态代码(内部服务器错误),如果我们不被允许执行我们想要的操作,它应该提供权限不足消息或类似消息,但是,我们可以通过 SharePoint Online 管理门户手动应用这一事实使我们相信我们遇到了一个阻止我们实现预期目标的错误。

任何建议将不胜感激!

共有1个答案

哈和惬
2023-03-14

您是否从执行请求的网站使用SSL?

 类似资料:
  • 除了为每一个用户设置权限,权限管理员 为连接及其数据库对象的权限提供另一查看方式。注意:只限于 MySQL、Oracle、PostgreSQL、SQL Server 和 MariaDB。 从用户的对象列表工具栏点击 权限管理员 并按照下列步骤进行: 在查看树展开节点直至到达目标对象。 选择对象并点击 添加权限 以打开窗口。 勾选用户以显示网格在右边的面板上。 在网格里,对照在 权限 列出的权限,勾

  • 除了在每个用户中设置权限,“权限管理员”提供另一种方式查看连接和其数据库对象的权限。 【注意】仅适用于 MySQL、Oracle、PostgreSQL、SQL Server、MariaDB 和 MongoDB。 若要添加权限,请在用户对象工具栏点击“权限管理员”并按照下列步骤: 在树视图展开节点直至到达目标对象。 选择对象并点击 “添加权限”以打开窗口。 在左侧窗格勾选用户。 在网格中,对照在“权

  • 除了在每个用户中设置权限,“权限管理员”提供另一种方式查看连接和其数据库对象的权限。 【注意】仅适用于 MySQL、Oracle、PostgreSQL、SQL Server、MariaDB 和 MongoDB。 若要添加权限,请在用户对象工具栏点击 并按照下列步骤: 在树视图展开节点直至到达目标对象。 选择对象并点击 以打开窗口。 在左侧窗格勾选用户。 在网格中,对照在“权限”列出的权限,勾选相关

  • 除了在每个用户中设置权限,“权限管理员”提供另一种方式查看连接和其数据库对象的权限。 【注意】仅适用于 MySQL、Oracle、PostgreSQL、SQL Server、MariaDB 和 MongoDB。 若要添加权限,请在用户对象工具栏点击“权限管理员”并按照下列步骤: 在树视图展开节点直至到达目标对象。 选择对象并点击 “添加权限”以打开窗口。 在左侧窗格勾选用户。 在网格中,对照在“权

  • 本文向大家介绍java类访问权限与成员访问权限解析,包括了java类访问权限与成员访问权限解析的使用技巧和注意事项,需要的朋友参考一下 在写代码的时候有个问题:包内定义了一个接口类,另外一个包要实现它,这里采用接口隔离与依赖倒置原则,将两个包的依赖关系倒置过来。但是,这里就遇到了一个问题,实现类采用工厂模式来实例化,所以实现类就不想暴露给包外,但是实现类还要实现public接口。所以这里有产生了一

  • 我试图使用管理员连接到MariaDB数据库,但我得到"权限拒绝"错误,当我按下登录按钮。请注意,如果密码错误,这不是我所期望的“拒绝访问”。 这是我第一次使用MariaDB,我也是CentOS的新手,我不确定这里出了什么问题。下面列出了有关我的系统的一些调试和设置。 从PHP连接到MariaDB确实有效,例如,使用以下测试脚本: 使用从控制台也可以工作,并且还确认正在监听: 亚洲开发银行赠款: 管