当前位置: 首页 > 知识库问答 >
问题:

我想在angular 7+http调用中从Microsoft graph调用令牌API

曾嘉瑞
2023-03-14

是否有其他方法调用图形API为令牌和用户get登录用户组?

共有1个答案

从智明
2023-03-14

由于CORS,不允许直接从信号页应用程序调用https://login.Microsoftonline.com/ /oauth2/v2.0/token 。您应该使用MSAL for angular来完成此操作。我的代码是基于这个棱角分明的官方演示。

请转到src/app/app.module.ts配置Azure广告:

先运行这个演示。

成功运行此演示后,转到profile.component.ts添加以下代码:

  getAccessTokenAndCallGraphAPI(){

    this.authService.acquireTokenPopup({
      scopes: ['GroupMember.Read.All']
    }).then(result=>{
      console.log("access token: "+ result.accessToken)

      const httpOptions = {
        headers: new HttpHeaders({
          'Content-Type':  'application/json',
          Authorization: 'Bearer '+result.accessToken
        })}

      const reqBody = {
        "securityEnabledOnly": true
      }
      this.http.post("https://graph.microsoft.com/v1.0/users/<user you want to query>/getMemberGroups",reqBody,httpOptions).toPromise().then(result=>{console.log(result)});
    })
  }

在初始化页面时调用此函数:

ngOnInit() {
    this.getProfile();
    this.getAccessTokenAndCallGraphAPI();
  }

结果:

 类似资料:
  • 我正在使用ADFS2.0和WIF来验证和授权我的用户使用ASP.NET MVC4应用程序WebAppa。WebAppA使用WebClient.DownloadString(url)调用另一个WebAppB,我希望将委托用户的凭据传递给WebAppB,以检索用户的定制内容。 我看到了几个web应用程序使用CreateChannelActingAs调用WCF服务的示例,但这与我的情况不同。 谢谢你的帮

  • 在通过oauth成功登录后,我收到了大量数据。 我想对其余的api进行api调用。在留档(https://docs.atlassian.com/jira/REST/cloud/#auth/1/session-currentUser)的身份验证一章中,列表中的oauth身份验证是首选方法。 在上面的例子中,很明显用户名:密码验证要简单得多(https://developer.atlassian.co

  • 问题内容: 我需要对同一域的安全(HTTPS)URL进行异步调用。 当前,该页面正在使用常规HTTP(非安全)。 换句话说:这是使用HTTPS在同一域中调用URL。 在将此调用切换到HTTPS之前,我结束了实现服务器端代理以允许跨域AJAX调用,但是现在我面临着相同的源策略,因为HTTP和HTTPS也被认为是不同的源。因此,该代理不可用。 简介:在这种情况下,如何进行跨域,异步POST请求? 各种

  • 今天早些时候,我问了一个关于使用ZenDesk API进行ajax调用的问题。 我可以在命令提示符下成功运行以下命令,并在ZenDesk中创建一个票证(是api令牌字符串): 我现在试图理解的是如何将其转换为ajax调用。这是我下面的文档。 我目前正在做的事情如下: 以下是我已经看过的一些答案和文档,但我仍然很困惑: (最佳之一):https://auth0.com/blog/using-json

  • 我想调用PowerBIRESTAPI调用从本地/特定存储库上载pbix文件。 > 我应该如何生成承载令牌以供邮递员授权? 这个rest api调用是否可以用于generateToken? 此rest调用需要传递什么作为授权令牌? myorg是PowerBI帐户名称吗?从哪里可以获取myorg值? 下面是我想通过邮递员调用的几个电话: 也很少打电话。 生成令牌的快速解决方案是什么?

  • 我有一个代表ERC20令牌的智能合约。我已经使用安全帽在币安测试网上部署了智能合约。 我也有一个部署的智能合约地址。 我使用以下链接在PHP laravel项目中集成了Web3库。 我可以调用web3函数来获取令牌符号。它运行良好。 我想使用智能合约的“转移”功能将我的代币转移到某个钱包地址。 我正在使用以下代码。 但我得到以下错误。 有人能指导我解决这个问题吗? 这是Token.json- 阿比