Microsoft Graph に関する既知の問題

この記事では、Microsoft Graph に関する既知の問題を説明します。最新の更新プログラムについては、「Microsoft Graph 変更ログ」を参照してください。

Graph エクスプローラー

サービスに関する問題が発生したため、Graph エクスプローラーへの Microsoft アカウント ログオンは無効になっています。問題の解決に取り組んでいます。準備が整い次第、このテキストは更新されます。

Internet Explorer および Microsoft Edge でのサインインが機能していませんでした。この問題は 2017 年 2 月 2 日現在、解決されています。

ユーザー

作成後にすぐにアクセスできない

ユーザーは、ユーザー エンティティの POST ですぐに作成できます。Office 365 サービスにアクセスするには、まず Office 365 ライセンスをユーザーに割り当てる必要があります。それでも、サービスが分散しているという性質上、Microsoft Graph API を介してこのユーザーがファイル、メッセージ、イベント エンティティを使用できるようになるまで 15 分かかる場合があります。この間、アプリには HTTP 404 エラー応答が送られてきます。

写真の制限

ユーザーのプロファイル写真の読み取りと更新は、ユーザーが受信トレイを持っている場合にのみ使用できます。さらに、以前 thumbnailPhoto プロパティを使用して (Office 365 統合 API のプレビュー、Azure AD Graph、AD 接続同期を使用して) 保存されたいかなる写真も Microsoft Graph ユーザー写真プロパティを使用してアクセスできなくなります。写真の読み取りまたは更新が失敗すると、この例では次のエラーが発生します:

    {
      "error": {
        "code": "ErrorNonExistentMailbox",
        "message": "The SMTP address has no mailbox associated with it."
      }
    }

:GA 後すぐ、ユーザーが受信トレイを持たない場合でも、ユーザーのプロファイル写真の保存と取得が有効になり、このエラーは表示されなくなります。

ユーザーのメールボックスに ICS ベースの予定表を追加してアクセスする

現在、インターネット予定表購読 (ICS) に基づく予定表の部分的なサポートがあります。

  • ユーザー インターフェイスを通して ICS ベースの予定表をユーザーのメールボックスに追加できますが、Microsoft Graph API を通してこれを行うことはできません。
  • ユーザーの予定表の一覧表示を行うと、ICS ベースの予定表を含む、ユーザーの既定の予定表のグループ、または指定した予定表のグループにある各予定表名前ID のプロパティを取得できます。予定表リソースの ICS URL を保存したり、アクセスしたりすることはできません。
  • また、ICS ベースの予定表のイベントを一覧表示することもできます。

グループ

ポリシー

Microsoft Graph を使用して Office 365 グループを作成および名前付けすると、Outlook Web App で構成されたすべての Office 365 のグループ ポリシーがバイパスされます。

グループ アクセス許可のスコープ

Microsoft Graph では、グループ API にアクセスするために 2 つのアクセス許可のスコープ (Group.Read.AllGroup.ReadWrite.All) を公開します。
これらのアクセス許可のスコープは、管理者による同意が必要です (これがプレビューとの違いです)。将来的には、ユーザーが同意する新しいグループのためのスコープを追加する予定です。

また、コア グループの管理とマネージメントのための API だけが、委任されたアクセス許可とアプリ専用のアクセス許可によるアクセスをサポートします。グループ API の他のすべての機能は、委任されたアクセス許可のみサポートします。

委任されたアクセス許可およびアプリ専用のアクセス許可をサポートするグループの機能の例:

  • グループの作成と削除
  • グループの管理とマネージメントに関するグループ プロパティの取得と更新
  • グループのディレクトリ設定、型、同期
  • グループの所有者とメンバーシップ

委任されたアクセス許可だけをサポートするグループ機能の例:

  • グループの会話、イベント、写真
  • 外部の送信者、承認済みまたは拒否された送信者、グループのサブスクリプション
  • ユーザーのお気に入り、見えないカウント

グループの投稿の添付ファイルの追加と取得

現在のところ、グループの投稿への添付ファイルの追加、グループの投稿の添付ファイルの一覧表示と取得を行うと、"OData 要求がサポートされていません" というエラー メッセージが返されます。/v1.0/beta の両方のバージョンに対する修正プログラムが準備されており、2016 年 1 月の終わりまでには一般に利用可能になると予測されます。

allowExternalSenders プロパティの設定

現在、/v1.0/beta の両方で、POST または PATCH 操作の際にグループの allowExternalSenders プロパティを設定できないという問題が発生しています。

連絡先

ベータ版でのみ利用可能な組織の連絡先

現在、個人用連絡先しかサポートされていません。組織の連絡先は現在 /v1.0 でサポートされていませんが、/beta で参照できます。

既定の連絡先フォルダー

/v1.0 バージョンでは、GET /me/contactFolders にユーザーの既定の連絡先フォルダーは含まれません。

修正プログラムが用意される予定です。それまでは、回避策として次の連絡先一覧表示クエリと parentFolderId プロパティを使用して、既定の連絡先フォルダーのフォルダー ID を取得できます。

GET https://graph.microsoft.com/v1.0/me/contacts?$top=1&$select=parentFolderId

上記のクエリで、 1. /me/contacts?$top=1 は既定の連絡先フォルダーの連絡先のプロパティを取得します。 2. &$select=parentFolderId を追加すると、連絡先の parentFolderId プロパティ (既定の連絡先フォルダーの ID) のみが返されます。

ベータ版の連絡先フォルダーから連絡先にアクセスする

以下の 2 つのシナリオで示されているように、/beta バージョンでは、REST 要求 URL で親フォルダーを指定して連絡先にアクセスすることができないという問題が発生しています。

  • ユーザーの最上位レベル contactFolder から連絡先にアクセスする。
GET /me/contactfolders/{id}/contacts/{id}
GET /users/{id | userPrincipalName}/contactfolders/{id}/contacts/{id}
  • contactFolder の子フォルダーに含まれている連絡先にアクセスする。次の例は、入れ子のレベルの 1 つを示していますが、連絡先は子の子などに入れることができます。
GET /me/contactFolder/{id}/childFolders/{id}/.../contacts/{id}
GET /users/{id | userPrincipalName}/contactFolders/{id}/childFolders/{id}/contacts/{id}

あるいは、以下に示すように、ID を指定するだけで連絡先を取得することもできます。これは、/beta バージョンの GET /contacts が、ユーザーのメールボックス内のすべての連絡先に適用されるためです。

GET /me/contacts/{id}
GET /users/{id | userPrincipalName}/contacts/{id}

メッセージ

下書きを作成するためのコメント パラメーター

返信または転送用の下書きを作成するためのコメント パラメーター (createReplycreateReplyAllcreateForward) は、結果メッセージの下書き本文の一部にはなりません。

ドライブ、ファイルおよびコンテンツのストリーミング

  • ユーザーが自分の個人用サイトにブラウザーでアクセスする前に、Microsoft Graph でユーザーの個人ドライブに初めてアクセスした場合、401 応答になります。

Office 365 REST API でのみ使用可能な機能

Microsoft Graph では一部の機能はまだ利用できません。探している機能が表示されない場合は、エンドポイント固有の Office 365 REST API を使用することができます。

バッチ処理

Microsoft Graph では、バッチ処理はサポートされていません。ただし、Outlook のベータ版のエンドポイントを使用して、Outlook REST 呼び出しをバッチ処理することは可能です。

中国での可用性

Microsoft Graph サービスは 21Vianet によって運営されています (中国でも使用可能になりました)。制限を含む詳細については、「Microsoft Graph の独立したクラウド展開」をご覧ください。

サービスのアクションと関数

isMemberOfgetObjectsById は、Microsoft Graph では使用できません

Microsoft Graph のアクセス許可

Microsoft Graph をサポートするアプリケーションと委任されたアクセス許可に関する最新情報は、「アクセス許可のスコープ」を参照してください。さらに、v1.0 には次の制限が適用されます:

アクセス許可 アクセス許可の種類 制限 代替手段
User.ReadWrite Delegated 携帯電話番号を更新できません Directory.AccessAsUser.All も選択してください
User.ReadWrite.All Delegated User では、ユーザーの HD 写真と拡張プロファイルのプロパティの更新以外の CRUD 操作を実行することはできません ユーザーの削除が必要な場合は Directory.ReadWrite.AllDirectory.AccessAsUser.All も選択してください。
User.Read.All Application 他のユーザーに対して読み取り操作を実行することはできません Directory.Read.All も選択してください
User.ReadWrite.All Application User では、ユーザーの HD 写真と拡張プロファイルのプロパティの更新以外の CRUD 操作を実行することはできません Directory.ReadWrite.All も選択してください。:ユーザーの削除を実行できなくなります。
Group.Read.All Application グループまたはグループ メンバーシップを列挙することはできません。Office グループのグループ コンテンツを読み取ることはできます Directory.Read.All も選択してください
Group.ReadWrite.All Application グループまたはグループ メンバーシップを列挙したり、グループを作成したり、グループ メンバーシップの更新やグループの削除はできません。Office グループのグループ コンテンツの読み取りや更新はできます。 Directory.ReadWrite.All も選択してください。:グループの削除を実行できなくなります。

さらに、/beta には次の制限があります:

アクセス許可 アクセス許可の種類 制限 代替手段
Group.ReadWrite.All Delegated Office のグループでプランナーのタスクの読み取りおよび更新はできません Tasks.ReadWrite も選択してください
Tasks.ReadWrite Delegated サインイン中のユーザーのタスクを読み取りまたは更新することはできません Group.ReadWrite.All も選択してください

OData に関連する制限

  • $expand の制限:
    • nextLink はサポートされていません
    • 1 レベルを超える展開はサポートされていません
    • 余分なパラメーターはサポートされていません ($filter$select)
  • 複数の名前空間はサポートされていません
  • $ref の GET とキャストはユーザー、グループ、デバイス、サービス プリンシパル、アプリケーションではサポートされていません。
  • @odata.bind はサポートされていません。つまり、開発者は AcceptedRejectedSenders を適切にグループに設定することができません。
  • @odata.id は最低限のメタデータを使用する場合、非包含構造のナビゲーション (メッセージなど) には存在しません
  • ワークロード間でのフィルター/検索は利用できません。
  • フルテキスト検索 ($search を使用した検索) はメッセージなどのいくつかのエンティティに対してのみ使用できます。

お客様からのフィードバックを重視しています。スタック オーバーフローでご連絡いただけます。質問には {MicrosoftGraph} と {office365} でタグ付けしてください。