GraphHttpClient クラスの概要 (非推奨)

重要

GraphHttpClient非推奨 になり、もはや使用すべきではありません。 今後は、MSGraphClient を使用する

Microsoft Graph を使用して、Offce 365 や他の Microsoft サービスのデータにアクセスする強力なソリューションを構築できます。 SharePoint Framework (SPFx) ソリューションを Microsoft Graph に接続するには、Azure Active Directory (Azure AD) アプリケーションに登録し、承認フローを完了する必要があります。 この手順を簡単に行うには、SPFx GraphHttpClient クラスを使用して、追加の設定はしないで、Microsoft Graph を直接呼び出すことができます。

GraphHttpClient クラスについて

GraphHttpClient クラスは、SharePoint Framework の一部として含まれています。 サード パーティの API との通信に使用できる HttpClient と同様の方法で動作します。 GraphHttpClient クラスは、Microsoft Graph への要求に有効なベアラー アクセス トークンと必要なヘッダーがあることを自動的に確認します。

GET 要求または POST 要求を出すと、GraphHttpClient は、その要求に有効なアクセス トークンがあることを確認し、それがない場合には内部 API から自動的に取得し、以降の要求のために格納します。

次の例は、GraphHttpClient クラスを使用する Microsoft Graph に対する要求を示しています。

// ...
import { GraphHttpClient, GraphHttpClientResponse } from '@microsoft/sp-http';

export default class MyApplicationCustomizer
  extends BaseApplicationCustomizer<IMyApplicationCustomizerProperties> {

  // ...

  @override
  public onRender(): void {
    this.context.graphHttpClient.get("v1.0/groups?$select=displayName", GraphHttpClient.configurations.v1)
      .then((response: GraphHttpClientResponse): Promise<any> => {
        return response.json();
      })
      .then((data: any): void => {
        // ...
      });
  }
}

Microsoft Graph に対して要求を行うには:

  1. Microsoft/sp-http パッケージから GraphHttpClient モジュールと GraphHttpClientResponse モジュールを @ インポートします。

  2. this.context.graphHttpClient プロパティで使用可能な GraphHttpClient のインスタンスを使用して、Microsoft Graph に GET または POST 要求を出します。

  3. パラメーターとして、呼び出す Microsoft Graph API を指定 (先頭に / - スラッシュのない API バージョンで開始) し、その後に GraphHttpClient 構成を続けます。

  4. 必要に応じて、GraphHttpClient ('Accept': 'application/json''Authorization': 'Bearer [token]''Content-Type': 'application/json; charset=utf-8') で設定された既定値のヘッダーと結合される追加の要求ヘッダーを指定できます。

GraphHttpClient クラス使用時の考慮事項

GraphHttpClient クラスは、承認フローとアクセス トークンの管理を抽象化するため、Microsoft Graph との通信に便利な方法を提供します。 GraphHttpClient は、現在は開発者向けのプレビューなので、使用する前に考慮すべき注意事項があります。

Microsoft Graph へのアクセスにのみ使用

GraphHttpClient クラスは、Microsoft Graph にアクセスする場合にのみ使用してください。 要求で指定された URL は、Microsoft Graph API のバージョン (v1.0.または.beta) で始まり、その後に API の操作が必要です。 他の URL はエラーを返します。

アクセス許可

GraphHttpClient は Office 365 SharePoint Online の Azure AD アプリケーションを使用して、現在のユーザーの代わりに Microsoft Graph への有効なアクセス トークンを取得します。 取得したアクセス トークンには、次の 2 つのアクセス許可が含まれています。

  • すべてのグループの読み取りおよび書き込み (プレビュー) (Group.ReadWrite.All)
  • すべての利用状況レポートの読み取り (Reports.Read.All)

内部 API を使用して取得されるトークン

有効なアクセス トークンを取得するために、GraphHttpClient/_api/SP.OAuth.Token/Acquire エンドポイントに Web 要求を出します。 この API は内部使用を目的としています。 ソリューション内で直接やり取りしないでください。

関連項目