Node.js Microsoft图形令牌使用请求太小
我正在尝试使用请求发送POST请求来获取Microsoft Graph应用程序的访问令牌。 问题是作为响应得到的令牌只有1188个字符长。而我使用邮递员时得到的代币是1461个字符。每次我发送一个请求时,它都会生成一个全新的令牌,但我在nodejs中通过请求得到的令牌总是1188,而在postman中得到的令牌总是1461 我尝试过不同的方法,比如在Microsoft Azure中生成一个新的应用程序api id,但它总是给出相同的结果 这是我的代码,我删除了敏感信息,但用“审查”一词替换了它。 我在Postman中使用了完全相同的请求参数Node.js Microsoft图形令牌使用请求太小,node.js,microsoft-graph-api,Node.js,Microsoft Graph Api,我正在尝试使用请求发送POST请求来获取Microsoft Graph应用程序的访问令牌。 问题是作为响应得到的令牌只有1188个字符长。而我使用邮递员时得到的代币是1461个字符。每次我发送一个请求时,它都会生成一个全新的令牌,但我在nodejs中通过请求得到的令牌总是1188,而在postman中得到的令牌总是1461 我尝试过不同的方法,比如在Microsoft Azure中生成一个新的应用程序api id,但它总是给出相同的结果 这是我的代码,我删除了敏感信息,但用“审查”一词替换了它。
const endpoint = "https://login.microsoftonline.com/CENSORED/oauth2/token";
const requestParams = {
client_id: "CENSORED",
client_secret: "CENSORED",
resource: "https://graph.windows.net",
grant_type: "client_credentials"
};
let accessToken = await
request.post({
url: endpoint,
form: requestParams
}, function (err, response, body) {
if (err) {
console.log("error");
} else {
console.log("Body=" + body);
let parsedBody = JSON.parse(body);
if (parsedBody.error_description) {
console.log("Error=" + parsedBody.error_description);
} else {
getCalendarEvents(parsedBody.access_token);
}
}
});
Postman返回1461个字符长的访问令牌,nodejs请求仅返回1188个字符长的访问令牌
这就是我在Nodejs中使用的:显然,资源参数应该是而不是。资源
https://graph.windows.net
适用于旧版。这是一个完全独立于API的API。对于Microsoft图形,资源
应为https://graph.microsoft.com
:
const endpoint = "https://login.microsoftonline.com/{tenant}/oauth2/token";
const requestParams = {
client_id: "{clientid}",
client_secret: "{clientsecret}",
resource: "https://graph.microsoft.com",
grant_type: "client_credentials"
};