Microsoft Graph Core SDK for Typescript
Get started with the Microsoft Graph SDK for Typescript by integrating the Microsoft Graph API into your Typescript application!
Note: this package contains the core feature of the TypeScript SDK. To get the full experience checkout the v1 SDK and the beta SDK.
Note: the Microsoft Graph Typescript SDK is currently in Pre-Release.
1. Installation
# this will install the core package
npm install @microsoft/msgraph-sdk-core
2. Getting started
Note: we are working to add the getting started information for Typescript to our public documentation, in the meantime the following sample should help you getting started.
2.1 Register your application
Register your application by following the steps at Register your app with the Microsoft Identity Platform.
2.2 Create an AuthenticationProvider object
An instance of the FetchClient class handles making requests to the service. To create a new instance of this class, you need to provide an instance of AuthenticationProvider, which can authenticate requests to Microsoft Graph.
2.2.1 Authorization Code Provider
const credential = new AuthorizationCodeCredential(
'YOUR_TENANT_ID',
'YOUR_CLIENT_ID',
'YOUR_CLIENT_SECRET',
'AUTHORIZATION_CODE',
'REDIRECT_URL',
);
const authProvider = new AzureIdentityAuthenticationProvider(credential, ["User.Read"]);
2.2.2 Client Credentials Provider
With a certificate
const credential = new ClientCertificateCredential(
'YOUR_TENANT_ID',
'YOUR_CLIENT_ID',
'YOUR_CERTIFICATE_PATH',
);
const authProvider = new AzureIdentityAuthenticationProvider(credential, ["https://graph.microsoft.com/.default"]);
With a secret
const credential = new ClientSecretCredential(
'YOUR_TENANT_ID',
'YOUR_CLIENT_ID',
'YOUR_CLIENT_SECRET',
);
const authProvider = new AzureIdentityAuthenticationProvider(credential, ["https://graph.microsoft.com/.default"]);
2.2.3 On-behalf-of provider
const credential = new OnBehalfOfCredential({
tenantId: 'YOUR_TENANT_ID',
clientId: 'YOUR_CLIENT_ID',
clientSecret: 'YOUR_CLIENT_SECRET',
userAssertionToken: 'JWT_TOKEN_TO_EXCHANGE',
});
const authProvider = new AzureIdentityAuthenticationProvider(credential, ["https://graph.microsoft.com/.default"]);
2.2.4 Device code provider
const credential = new DeviceCodeCredential({
tenantId: 'YOUR_TENANT_ID',
clientId: 'YOUR_CLIENT_ID',
userPromptCallback: (info) => {
console.log(info.message);
},
});
const authProvider = new AzureIdentityAuthenticationProvider(credential, ["User.Read"]);
2.2.5 Interactive provider
const credential = new InteractiveBrowserCredential({
tenantId: 'YOUR_TENANT_ID',
clientId: 'YOUR_CLIENT_ID',
redirectUri: 'http://localhost',
});
const authProvider = new AzureIdentityAuthenticationProvider(credential, ["User.Read"]);
2.2.6 Username/password provider
const credential = new UsernamePasswordCredential(
'YOUR_TENANT_ID',
'YOUR_CLIENT_ID',
'YOUR_USER_NAME',
'YOUR_PASSWORD',
);
const authProvider = new AzureIdentityAuthenticationProvider(credential, ["User.Read"]);
3. Make requests against the service
TODO: document how the fetch client augmented with middleware handlers can be used to make arbitrary requests.
4. Documentation
For more detailed documentation, see:
5. Issues
For known issues, see issues.
6. Contributions
The Microsoft Graph SDK is open for contribution. To contribute to this project, see Contributing.
7. License
Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT license.
8. Third-party notices
Third-party notices