Visão geral da classe GraphHttpClient (preterida)

Importante

O GraphHttpClient foi preterido e não deve mais ser usado. Ele foi substituído pelo MSGraphClient

Você pode usar o Microsoft Graph para compilar soluções avançadas que acessam dados no Office 365 e em outros serviços da Microsoft. Para conectar as soluções da Estrutura do SharePoint (SPFx) ao Microsoft Graph, você precisa registrar um aplicativo do Azure Active Directory (Azure AD) e concluir o fluxo de autorização. Para facilitar, você pode usar a classe GraphHttpClient do SPFx para chamar o Microsoft Graph diretamente, sem qualquer configuração adicional.

O que é a classe GraphHttpClient?

A classe GraphHttpClient está incluída como parte da Estrutura do SharePoint. Ela funciona de forma semelhante à HttpClient que pode ser usada para se comunicar com APIs de terceiros. A classe GraphHttpClient automaticamente garante que sua solicitação para o Microsoft Graph tem um token de acesso válido de portador e os cabeçalhos necessários.

Quando você executa uma solicitação GET ou POST, a classe GraphHttpClient verifica se ela possui um token de acesso válido, mas, se não tiver, automaticamente recupera um token de uma API interna e armazena-o para solicitações subsequentes.

O exemplo a seguir mostra uma solicitação ao Microsoft Graph que usa a classe GraphHttpClient.

// ...
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 => {
        // ...
      });
  }
}

Para fazer uma solicitação ao Microsoft Graph:

  1. Importe os módulos GraphHttpClient e GraphHttpClientResponse do pacote @microsoft/sp-http.
  2. Use a instância de GraphHttpClient que está disponível na propriedade this.context.graphHttpClient para emitir uma solicitação GET ou POST para o Microsoft Graph.
  3. Como parâmetros, especifique a API do Microsoft Graph que você deseja chamar (comece com a versão da API sem uma / inicial), seguida da configuração GraphHttpClient.
  4. Opcionalmente, você pode especificar outros cabeçalhos de solicitação que serão mesclados com os cabeçalhos padrão definidos por GraphHttpClient ('Accept': 'application/json', 'Authorization': 'Bearer [token]' e 'Content-Type': 'application/json; charset=utf-8').

Considerações para usar a classe GraphHttpClient

A classe GraphHttpClient oferece uma maneira conveniente de se comunicar com o Microsoft Graph porque ele abstrai o fluxo de autorização e o gerenciamento de tokens de acesso. Como GraphHttpClient está atualmente em visualização do desenvolvedor, existem algumas considerações que você deve levar em conta antes de usá-la.

Usar para acessar apenas o Microsoft Graph

Use a classe GraphHttpClient somente para acessar o Microsoft Graph. A URL especificada na solicitação deve começar com a versão da API do Microsoft Graph (v1.0 ou beta), seguida pela operação da API. Qualquer outra URL retorna um erro.

Permissões

GraphHttpClient usa o aplicativo do Azure AD do Office 365 SharePoint Online para recuperar um token de acesso válido para o Microsoft Graph em nome do usuário atual. O token de acesso recuperado contém duas permissões:

  • Ler e gravar todos os grupos (visualização) (Group.ReadWrite.All)
  • Ler todos os relatórios de uso (Reports.Read.All)

Os tokens são recuperados usando uma API interna

Para obter um token de acesso válido, GraphHttpClient emite uma solicitação da Web para o ponto de extremidade /_api/SP.OAuth.Token/Acquire. Essa API destina-se ao uso interno. Você não deve se comunicar com ela diretamente em suas soluções.

Confira também