Microsoft-Graph令牌使用请求很小

时间:2019-05-27 07:41:14

标签: node.js microsoft-graph

我正尝试使用请求发送POST请求来获取Microsoft-Graph应用程序的访问令牌。 问题是我作为响应获得的令牌只有1188个字符长。当我使用邮递员时获得的令牌长度为1461个字符。每次我发送请求时,都会生成一个全新的令牌,但是在nodejs中,我通过请求获得的令牌始终为1188,而在邮递员中的请求令牌始终为1461。

我尝试了不同的方法,例如在Microsoft Azure中生成新的应用程序api id,但是它始终给出相同的结果。

这是我的代码,尽管我用CENSORED代替了敏感信息。 我在Postman中使用了完全一样的请求参数

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个字符长的访问令牌。

这是我在Node.js中使用的:https://www.npmjs.com/package/request

2 个答案:

答案 0 :(得分:1)

资源"compileOnSave": false, // does not matter if true or false "compilerOptions": { "module": "none", "noImplicitAny": true, "noEmitOnError": true, "sourceMap": true, "experimentalDecorators": true, "emitDecoratorMetadata": true, "target": "es2015", "lib": [ "es2015", "es5", "dom" ], "outDir": "wwwroot/js/gen-ts", "typeRoots": [ "./wwwroot/lib/@types" ] }, "include": [ "./Scripts" ] 用于旧版Azure AD Graph API。这是与the Microsoft Graph完全独立的API。对于Microsoft Graph,https://graph.windows.net应该为resource

https://graph.microsoft.com

答案 1 :(得分:0)

显然,资源参数应为https://graph.microsoft.com,而不是https://graph.windows.net