Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Cuidado
O Microsoft Graph Toolkit foi preterido. O período de aposentadoria começa em 1º de setembro de 2025, com aposentadoria total planejada para 28 de agosto de 2026. Os desenvolvedores devem migrar para o uso dos SDKs do Microsoft Graph ou outras ferramentas do Microsoft Graph com suporte para criar experiências na Web. Para obter mais informações, consulte o anúncio de substituição.
Este artigo aborda como usar os componentes do Microsoft Graph Toolkit em uma Web Part do lado do cliente do SharePoint. Os primeiros passos envolvem as seguintes etapas:
- Defina seu ambiente de desenvolvimento.
- Crie seu projeto de web part.
- Adicione os pacotes do Microsoft Graph Toolkit.
- Adicione o provedor do Microsoft Office SharePoint Online.
- Adicione os componentes.
- Configure as permissões.
- Configurar webpack
- Crie e implante sua web part.
- Teste sua web part.
Configure seu ambiente de desenvolvimento da Estrutura do SharePoint e crie uma nova web part
Siga as etapas para Configurar o ambiente de desenvolvimento da Estrutura do SharePoint.
Criar seu projeto de Web Part
Siga as instruções para criar uma nova Web Part. Quando perguntado qual modelo você gostaria de usar, escolha React.
Importante
Você deve escolher o React ao selecionar sua estrutura ao usar yo @microsoft/sharepointo .
Adicionar os pacotes do Microsoft Graph Toolkit
O Microsoft Graph Toolkit publica vários pacotes necessários para criar uma Web Part da Estrutura do SharePoint. A instalação dos @microsoft/mgt-elementpacotes , @microsoft/mgt-react, @microsoft/mgt-sharepoint-provider, e @microsoft/mgt-spfx-utils instala as dependências necessárias.
npm install @microsoft/mgt-element @microsoft/mgt-react @microsoft/mgt-sharepoint-provider @microsoft/mgt-spfx-utils
Adicionar o Provedor do Microsoft Office SharePoint Online
Os provedores do Kit de ferramentas do Microsoft Graph permitem autenticação e acesso ao Microsoft Graph para os componentes. Para saber mais, confira Usando os provedores. As Web Parts do SharePoint sempre existem em um contexto autenticado porque o usuário é autenticado para acessar a página que hospeda sua web part. Use este contexto para inicializar o provedor do Microsoft Office SharePoint Online.
Primeiro, adicione o provedor à sua web part. Localize o arquivo src\webparts\<your-project>\<your-web-part>.ts na pasta do projeto e adicione a seguinte linha no início do arquivo, logo abaixo das instruções import existentes:
import { Providers } from "@microsoft/mgt-element";
import { SharePointProvider } from "@microsoft/mgt-sharepoint-provider";
Em seguida, inicialize o provedor com o contexto autenticado dentro onInit() do método da web part. No mesmo arquivo, adicione o seguinte código antes da linha public render(): void {:
protected async onInit() {
if (!Providers.globalProvider) {
Providers.globalProvider = new SharePointProvider(this.context);
}
}
Configurar a desambiguação
Para garantir que sua web part funcione se houver várias soluções de web part usando o Microsoft Graph Toolkit em uma única página, você deve usar a desambiguação. Para mais informações, veja a desambiguação.
Primeiro, atualize suas importações e @microsoft/mgt-element adicione uma para o lazyLoadComponent auxiliar.
import { Providers, customElementHelper } from "@microsoft/mgt-element";
import { lazyLoadComponent } from "@microsoft/mgt-spfx-utils";
Em seguida, atualize o onInit() método da web part raiz para configurar a desambiguação. A cadeia de caracteres usada para desambiguação deve ser exclusiva para sua solução de Estrutura do SharePoint:
protected async onInit(): Promise<void> {
if (!Providers.globalProvider) {
Providers.globalProvider = new SharePointProvider(this.context);
}
customElementHelper.withDisambiguation('contoso-hr-solution');
return super.onInit();
}
Atualizar a importação e renderização do componente React
Primeiro, converta a importação do componente para usar React.lazy. Localize a instrução import <WebPartName> from './components/<WebPartName>; e atualize-a para o seguinte:
const MgtComponent = React.lazy(
() =>
import(
/* webpackChunkName: 'mgt-react-component' */ "./components/<WebPartName>"
)
);
Em seguida, modifique o método render para usar o lazyLoadComponent auxiliar:
public render(): void {
const element = lazyLoadComponent<IHelloWorldProps>(MgtComponent, {
description: this.properties.description,
isDarkTheme: this._isDarkTheme,
environmentMessage: this._environmentMessage,
hasTeamsContext: !!this.context.sdks.microsoftTeams,
userDisplayName: this.context.pageContext.user.displayName
});
ReactDom.render(element, this.domElement);
}
Agora, sua Web Part deve ter esta aparência:
import * as React from "react";
import * as ReactDom from "react-dom";
import { Version } from "@microsoft/sp-core-library";
import {
type IPropertyPaneConfiguration,
PropertyPaneTextField,
} from "@microsoft/sp-property-pane";
import { BaseClientSideWebPart } from "@microsoft/sp-webpart-base";
import { IReadonlyTheme } from "@microsoft/sp-component-base";
import { Providers, customElementHelper } from "@microsoft/mgt-element";
import { lazyLoadComponent } from "@microsoft/mgt-spfx-utils";
import { SharePointProvider } from "@microsoft/mgt-sharepoint-provider";
import * as strings from "HelloWorldWebPartStrings";
const HelloWorld = React.lazy(
() =>
import(
/* webpackChunkName: 'mgt-react-component' */ "./components/HelloWorld"
)
);
import { IHelloWorldProps } from "./components/IHelloWorldProps";
export interface IHelloWorldWebPartProps {
description: string;
}
export default class HelloWorldWebPart extends BaseClientSideWebPart<IHelloWorldWebPartProps> {
private _isDarkTheme: boolean = false;
private _environmentMessage: string = "";
public render(): void {
const element = lazyLoadComponent<IHelloWorldProps>(HelloWorld, {
description: this.properties.description,
isDarkTheme: this._isDarkTheme,
environmentMessage: this._environmentMessage,
hasTeamsContext: !!this.context.sdks.microsoftTeams,
userDisplayName: this.context.pageContext.user.displayName,
});
ReactDom.render(element, this.domElement);
}
protected async onInit(): Promise<void> {
if (!Providers.globalProvider) {
Providers.globalProvider = new SharePointProvider(this.context);
}
customElementHelper.withDisambiguation("contoso-hr-solution");
return super.onInit();
}
// [...] trimmed for brevity
}
Adicionar os componentes
Adicione os componentes ao componente React. Localize e abra o src\webparts\<your-project>\components\<your-component>.tsx arquivo e adicione a importação do componente que você deseja usar - neste caso, o Person componente - e atualize o render() método para usar o componente Person. Agora, seu componente deve ter esta aparência:
import * as React from "react";
import type { IHelloWorldProps } from "./IHelloWorldProps";
import { Person } from "@microsoft/mgt-react";
export default class HelloWorld extends React.Component<IHelloWorldProps, {}> {
public render(): React.ReactElement<IHelloWorldProps> {
return <Person personQuery="me" view="twolines" />;
}
}
Ou se você preferir usar componentes funcionais do React:
import * as React from "react";
import type { IHelloWorldProps } from "./IHelloWorldProps";
import { Person, ViewType } from "@microsoft/mgt-react";
const HelloWorld = (props: IHelloWorldProps): React.ReactElement => (
<Person personQuery="me" view={ViewType.twolines} />
);
export default HelloWorld;
Configurar as permissões
Para chamar o Microsoft Graph de seu aplicativo da Estrutura do SharePoint, você precisa solicitar as permissões necessárias em seu pacote de solução e um administrador de locatário do Microsoft 365 precisa aprovar as permissões solicitadas.
Para adicionar as permissões ao seu pacote de solução, localize e abra o arquivo config\package-solution.json e defina:
"isDomainIsolated": false,
Logo abaixo dessa linha, adicione a seguinte linha:
"webApiPermissionRequests":[],
Determine quais permissões de API do Graph você precisa depender dos componentes que está usando. A página de documentação de cada componente fornece uma lista das permissões que o componente requer. Você precisará adicionar cada permissão necessária ao webApiPermissionRequests. Por exemplo, se você estiver usando o componente Person e o componente Agenda, seu webApiPermissionRequests pode ser parecido com:
"webApiPermissionRequests": [
{
"resource": "Microsoft Graph",
"scope": "User.Read"
},
{
"resource": "Microsoft Graph",
"scope": "Calendars.Read"
}
]
Configurar webpack
Para criar sua web part, a configuração do webpack da Estrutura do SharePoint deve ser atualizada para lidar corretamente com JavaScript moderno com encadeamento opcional e união nullish por meio de transformações Babel adicionais.
Instalar pacotes do Babel
Para lidar corretamente com dependências que emitem código baseado em ES2021, um carregador babel e algumas transformações precisam ser adicionados como dependências de desenvolvimento ao projeto.
npm i --save-dev babel-loader@8.3.0 @babel/plugin-transform-optional-chaining @babel/plugin-transform-nullish-coalescing-operator @babel/plugin-transform-logical-assignment-operators
Modificar a configuração do webpack
Versão <do webpack =4
A Estrutura do SharePoint fornece um modelo de extensibilidade para modificar a configuração do webpack usada para agrupar as Web Parts. Localize e abra gulpfile.js. Adicione o seguinte código acima da linha que contém build.initialize(require('gulp'));
const path = require("path");
const litFolders = [
`node_modules${path.sep}lit${path.sep}`,
`node_modules${path.sep}@lit${path.sep}`,
`node_modules${path.sep}lit-html${path.sep}`
];
build.configureWebpack.mergeConfig({
additionalConfiguration: generatedConfiguration => {
generatedConfiguration.module.rules.push({
test: /\.js$/,
// only run on lit packages
include: resourcePath =>
litFolders.some(litFolder => resourcePath.includes(litFolder)),
use: {
loader: 'babel-loader',
options: {
plugins: [
'@babel/plugin-transform-optional-chaining',
'@babel/plugin-transform-nullish-coalescing-operator',
'@babel/plugin-transform-logical-assignment-operators'
]
}
}
});
return generatedConfiguration;
}
});
Isso garante que o lit código da biblioteca seja processado corretamente pela cadeia de build da Estrutura do SharePoint. Isso é necessário para versões <=v1.18de provedor do SharePoint.
Webpack versão 5+
Nenhuma configuração adicional é necessária quando você usa a versão 5+ do webpack. Isso é compatível com a versão v1.19+do provedor do SharePoint .
Construir e implantar sua web part
Agora, você criará seu aplicativo e o implantará no SharePoint. Crie seu aplicativo executando os seguintes comandos:
gulp build
gulp bundle
gulp package-solution
Na sharepoint/solution pasta, há um novo .sppkg arquivo. Carregue esse arquivo no catálogo de aplicativos do SharePoint Online. Vá para a página Mais recursos do Centro de Administração do SharePoint Online. Selecione Abrir em Aplicativos e, em seguida, selecione Catálogo de Aplicativos e Distribuir aplicativos para o SharePoint. Carregue seu .sppkg arquivo e selecione Implantar.
Em seguida, você precisa aprovar as permissões como um administrador.
Vá para o seu Centro de administração do SharePoint Online. Na navegação à esquerda, selecione Avançado e depois Acesso à API. Você deve ver as solicitações pendentes para cada uma das permissões adicionadas ao seu arquivoconfig\package-solution.json. Selecione e aprove cada permissão.
Testar sua web part
Agora você está pronto para adicionar sua web part a uma página do SharePoint e testá-la. Você precisará usar o workbench hospedado para testar Web Parts que usam o Microsoft Graph Toolkit porque os componentes precisam do contexto autenticado para chamar o Microsoft Graph. Você pode encontrar seu workbench hospedado em https://< YOUR_TENANT.sharepoint.com/_layouts/15/workbench.aspx>.
Abra o config\serve.json arquivo em seu projeto e substitua o valor de initialPage pela URL do seu workbench hospedado:
"initialPage": "https://<YOUR_TENANT>.sharepoint.com/_layouts/15/workbench.aspx",
Salve o arquivo e execute o seguinte comando no console para criar e visualizar sua web part:
gulp serve
O workbench hospedado é aberto automaticamente no navegador. Adicione sua web part à página e você deverá vê-la com os componentes do Kit de ferramentas do Microsoft Graph em ação! Contanto que o comando gulp serve ainda esteja em execução em seu console, você pode continuar a fazer edições em seu código e, em seguida, apenas atualizar seu navegador para ver as alterações.
Próximos passos
- Confira este tutorial passo a passo sobre como criar uma Web Part do SharePoint.
- Experimente os componentes do playground.
- Faça uma pergunta no Stack Overflow.
- Relate bugs ou deixe uma solicitação de recurso no GitHub.