0

Office 365 MySites サイト コレクションへの代理管理アクセスを要求すると、 Office 365 APIで 500 エラーが返されるという問題に直面しているため、アドバイスをいただければ幸いです。

ユース ケース シナリオは次のとおりです。 独立した組織 'A' と 'B' があり、どちらもそれぞれの Azure Active Directory アカウントと O365/Azure サブスクリプションを所有しています。組織 B は、Office365 MySites サイト コレクションへの委任された管理アクセスを必要とする、組織 A を提供するアプリケーションを利用したいと考えています。

組織 B は、OAuth2 認証プロセスを使用してアプリを Active Directory アカウントに正常に追加し、会社の Active Directory に対してアプリケーションが必要とするアクセス許可を付与します。

最後の部分は、組織 B の管理者アカウントのアクセスを、組織 B の Office 365 アカウントの Mysites サイト コレクションに委任することです。管理パネルを介して手動プロセスを使用すると、すべてうまく機能しますが、API を介してプログラムで「500」エラーが発生します。

次の呼び出しを使用して、プログラムでユーザーをサイト コレクション管理者として追加しています: (注: 以下の [ダミー ID] を使用しました)

エンドポイント URL:

https://<..org_a..>.my.sharepoint.com/personal/[[user_OrganisationA_com]]/_api/web/siteUsers/getByEmail(@u)?@u='[[info@_OrganisationA.com' ]] メソッド: POST

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 サービスのユーザー C の個人用サイトに追加しようとしています (ユーザー C はメール 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 set this property.' (length=68)

私たちの知る限りでは、API 呼び出しは 500 HTTP ステータス コード (内部サーバー エラー) を返すべきではありません。 SharePoint Online 管理ポータルを使用すると、意図したことの達成を妨げているバグに遭遇したと思われます。

アドバイスをいただければ幸いです。

4

1 に答える 1

0

リクエストを実行する Web サイトから SSL を使用していますか?

于 2015-10-26T22:22:35.027 に答える