Этот вопрос основан на Как получить токен Microsoft Graph API Access из Node Script? , однако, как первый пользователь, у меня нет необходимой репутации для комментирования принятого ответав этой теме.
Дело в том, что я пытался реализовать подход, предложенный в принятом ответе, но где-то он идет не так.Приведенный ниже код является частью асинхронной функции, и я уже могу сказать, что ONEDRIVE_TENANT_URI is
в формате XXX.onmicrosoft.com
.
const endpoint = `https://login.microsoftonline.com/${process.env.ONEDRIVE_TENTANT_URI}/oauth2/token`;
const requestParams = {
grant_type: "client_credentials",
client_id: process.env.ONEDRIVE_APP_ID,
client_secret: process.env.ONEDRIVE_CLIENT_SECRET,
resource: "https://graph.windows.net"
};
const authResponse = await request.post({
url: endpoint,
form: requestParams
});
authResponse
получает в качестве тела только строку сАргументы requestParams, как определено выше, заполнены.
Если я отправлю почтовый запрос через почтальона с такими же параметрами, как и x-www-form-urlencoded
, я получу access_token
в теле ответа.
Итак ... Что я делаю не так?Возможно - но я так не думаю - это потому, что эта функция вызывается (для целей тестирования) запросом POSTMAN GET с телом в формате json?