Как вызвать Microsoft Graph API "https://graph.microsoft.com/v1.0/me/" в node.js? - PullRequest
0 голосов
/ 27 апреля 2019

Я создал параметры подключения Azure OAuth в активной директории Azure и использовал API диаграммы Azure "https://graph.microsoft.com/v1.0/me/" для получения сведений о пользователе.

Я вызвал этот API в почтальоне и передал пользователятокен в Авторизации, и я получаю все данные пользователя. Ниже ответ, который я получаю от почтальона, когда я называю это "https://graph.microsoft.com/v1.0/me/" API.

Например.

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users/$entity",
    "businessPhones": [],
    "displayName": "raman",
    "givenName": "kuamr",
    "jobTitle": null,
    "mail": null,
    "mobilePhone": null,
    "officeLocation": null,
    "preferredLanguage": null,
    "surname": "sdf-890b52347751",
    "userPrincipalName":
"kumar_google.onmicrosoft.com",
    "id": "dsfc-29c6827f2fbe"
}

Но теперь мне нужно вызвать этот API в node.js.Как вызвать этот API в node.js и как получить ответ, который я получаю в почтальоне.

1 Ответ

0 голосов
/ 27 апреля 2019

Вот шаг за шагом пример кода , за которым вы можете следить.

Используется microsoft-graph-client для звонков в Microsoft Graph.

passport-azure-ad для аутентификации и получения токенов доступа и simple-oauth2 для управления токенами.

Ниже приведен соответствующий код для вызова enpoint с токеном доступа (на шаге 3), но вам будет полезно пройти подробные шаги, чтобы понять весь поток.

var graph = require('@microsoft/microsoft-graph-client');

module.exports = {
  getUserDetails: async function(accessToken) {
    const client = getAuthenticatedClient(accessToken);

    const user = await client.api('/me').get();
    return user;
  }
};

function getAuthenticatedClient(accessToken) {
  // Initialize Graph client
  const client = graph.Client.init({
    // Use the provided access token to authenticate
    // requests
    authProvider: (done) => {
      done(null, accessToken);
    }
  });

  return client;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...