【发布时间】:2019-08-05 15:55:24
【问题描述】:
这个问题建立在How to get Microsoft Graph API Access token from 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。
如果我通过 Postman 提交发布请求,使用与 x-www-form-urlencoded 相同的参数,我会在响应正文中得到一个 access_token。
那么...我做错了什么?也许 - 但我不这么认为 - 这是因为这个函数是由一个(用于测试目的)带有 json 格式正文的 POSTMAN GET 请求调用的?
【问题讨论】:
-
这里没什么可做的。请编辑您的问题并添加一些额外的代码,特别是您设置
requestParams的位置。也不清楚您如何或在何处注册您的应用程序。 -
根据您的要求添加了一些代码!
标签: node.js azure azure-active-directory microsoft-graph-api