emblema da versão npm Travis Vulnerabilidades conhecidas Licença estilo do código: prettier
A biblioteca do cliente Microsoft Graph JavaScript é um invólucro leve em torno da API do Microsoft Graph, que pode ser usada no lado do servidor e no navegador.
Procurando o IntelliSense nos modelos (usuários, grupos, etc.)? Confira o](https://github.com/microsoftgraph/msgraph-typescript-typings) repositório [do Microsoft Graph Types!
npm install @microsoft/microsoft-graph-clientimporte @microsoft/microsoft-graph-client para o seu módulo e, além disso, você precisará de metapreenchimentos de busca, como isomorphic-fetch.
import "isomorphic-fetch";
import { Client } from "@microsoft/microsoft-graph-client";Inclua graph-js-sdk.js na página HTML.
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/@microsoft/microsoft-graph-client/lib/graph-js-sdk.js"></script>Caso o seu navegador não tenha suporte para Buscar [suporte] ou Prometer [suporte], você precisará usar o polipreenchimento, como github/fetch para a busca e es6-promise para a promessa.
<!-- polyfilling promise -->
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/es6-promise/dist/es6-promise.auto.min.js"></script>
<!-- polyfilling fetch -->
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/whatwg-fetch/dist/fetch.umd.min.js"></script>
<!-- depending on your browser you might wanna include babel polyfill -->
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/@babel/[email protected]/dist/polyfill.min.js"></script>Registre seu aplicativo para usar a API do Microsoft Graph usando um dos seguintes portais de autenticação com suporte:
- Vá até o Portal de Registro de Aplicativos da Microsoft: Registre um novo aplicativo que funcione com contas da Microsoft e/ou contas organizacionais usando o Ponto final de autenticação v2 unificado.
- Microsoft Azure Active Directory: Registre um novo aplicativo no Active Directory do locatário para oferecer suporte aos usuários corporativos ou estudantes para seu locatários ou vários locatários.
A biblioteca do cliente Microsoft Graph JavaScript possui uma implementação de adaptador (ImplicitMSALAuthenticationProvider) para MSAL (Biblioteca de autenticação da Microsoft) que obtém o accessToken. A Biblioteca MSAL não é fornecida com essa biblioteca, o usuário deve incluí-la externamente (Para incluir MSAL, consulte isso).
Observação importante: O MSAL é suportado apenas por aplicativos frontend; para autenticação no servidor, você precisa implementar seu próprio AuthenticationProvider. Saiba como você pode criar um Provedor de autenticação personalizado.
Consulte devDependencies no package.json para a versão msal compatível e atualize essa versão no abaixo.
<script src="https://secure.aadcdn.microsoftonline-p.com/lib/<version>/js/msal.min.js"></script>// Configuration options for MSAL @see https://github.com/AzureAD/microsoft-authentication-library-for-js/wiki/MSAL.js-1.0.0-api-release#configuration-options
const msalConfig = {
auth: {
clientId: "your_client_id", // Client Id of the registered application
redirectUri: "your_redirect_uri",
},
};
const graphScopes = ["user.read", "mail.send"]; // An array of graph scopes
// Important Note: This library implements loginPopup and acquireTokenPopup flow, remember this while initializing the msal
// Initialize the MSAL @see https://github.com/AzureAD/microsoft-authentication-library-for-js#1-instantiate-the-useragentapplication
const msalApplication = new Msal.UserAgentApplication(msalConfig);
const options = new MicrosoftGraph.MSALAuthenticationProviderOptions(graphScopes);
const authProvider = new MicrosoftGraph.ImplicitMSALAuthenticationProvider(msalApplication, options);Consulte devDependencies no package.json para a versão msal compatível e atualize essa versão no abaixo.
npm install msal@<version>import { UserAgentApplication } from "msal";
import { ImplicitMSALAuthenticationProvider } from "./node_modules/@microsoft/microsoft-graph-client/lib/src/ImplicitMSALAuthenticationProvider";
// An Optional options for initializing the MSAL @see https://github.com/AzureAD/microsoft-authentication-library-for-js/wiki/MSAL-basics#configuration-options
const msalConfig = {
auth: {
clientId: "your_client_id", // Client Id of the registered application
redirectUri: "your_redirect_uri",
},
};
const graphScopes = ["user.read", "mail.send"]; // An array of graph scopes
// Important Note: This library implements loginPopup and acquireTokenPopup flow, remember this while initializing the msal
// Initialize the MSAL @see https://github.com/AzureAD/microsoft-authentication-library-for-js#1-instantiate-the-useragentapplication
const msalApplication = new UserAgentApplication(msalConfig);
const options = new MicrosoftGraph.MSALAuthenticationProviderOptions(graphScopes);
const authProvider = new ImplicitMSALAuthenticationProvider(msalApplication, options);O usuário pode integrar a própria biblioteca de autenticação preferencial implementando a interface do IAuthenticationProvider. Consulte implementar Provedor de autenticação personalizada.
Uma instância da classe Client lida com solicitações à API do Microsoft Graph e processa as respostas. Para criar uma nova instância dessa classe, você precisa fornecer uma instância de IAuthenticationProvider que deve ser passada como um valor para a chave authProvider em Clienteoptions para um método inicializador estático Client.initWithMiddleware.
const options = {
authProvider, // An instance created from previous step
};
const Client = MicrosoftGraph.Client;
const client = Client.initWithMiddleware(options);import { Client } from "@microsoft/microsoft-graph-client";
const options = {
authProvider, // An instance created from previous step
};
const client = Client.initWithMiddleware(options);Para saber mais sobre a inicialização do cliente, confira este documento.
Depois de configurar a autenticação e uma instância do Cliente, você poderá começar a fazer chamadas para o serviço. Todas as solicitações devem começar com client.api(path) e terminar com uma ação.
Obter detalhes do usuário
try {
let userDetails = await client.api("/me").get();
console.log(userDetails);
} catch (error) {
throw error;
}Enviar um e-mail aos destinatários
// Construct email object
const mail = {
subject: "Microsoft Graph JavaScript Sample",
toRecipients: [
{
emailAddress: {
address: "[email protected]",
},
},
],
body: {
content: "<h1>MicrosoftGraph JavaScript Sample</h1>Check out https://github.com/microsoftgraph/msgraph-sdk-javascript",
contentType: "html",
},
};
try {
let response = await client.api("/me/sendMail").post({ message: mail });
console.log(response);
} catch (error) {
throw error;
}Para obter mais informações, consulte: Padrão da chamada, Ações, Parâmetros de consulta, Métodos API e mais.
- Envio em lote
- Tarefa de carregar arquivos grandes
- Iterador de página
- Ações
- Parâmetros de consulta
- Outras APIs
- Obter uma resposta pura
Adoraríamos receber seus comentários sobre o projeto Biblioteca do cliente Microsoft Graph JavaScript. Você pode enviar perguntas e sugestões na seção Problemas deste repositório.
Confira as diretrizes de colaboração.
- Website do Microsoft Graph
- Tipos de TypeScript do Microsoft Graph
- Criar aplicativos angulares de página simples com o Microsoft Graph
- Criar aplicativos Node.js Express com o Microsoft Graph
- Centro de Desenvolvimento do Office
Consulte Notificações de terceiros para obter mais informações sobre os pacotes que estão incluídos no package.json
Se você encontrar um problema de segurança com nossas bibliotecas ou serviços, informe-o em [email protected] com o máximo de detalhes possível. O seu envio pode estar qualificado para uma recompensa por meio do programa Microsoft Bounty. Não poste problemas de segurança nos Problemas do GitHub ou qualquer outro site público. Entraremos em contato com você em breve após receber as informações. Recomendamos que você obtenha notificações sobre a ocorrência de incidentes de segurança visitando esta página e assinando os alertas do Security Advisory.
Copyright (c) Microsoft Corporation. Todos os direitos reservados. Licenciado sob a Licença MIT (a "Licença");
Este projeto adotou o Código de Conduta de Código Aberto da Microsoft. Para saber mais, confira as Perguntas frequentes sobre o Código de Conduta ou entre em contato pelo [email protected] se tiver outras dúvidas ou comentários.