Php 应用程序Azure Api中的NoPermissionsInAccessToken无法创建联系人

Php 应用程序Azure Api中的NoPermissionsInAccessToken无法创建联系人,php,azure,azure-active-directory,Php,Azure,Azure Active Directory,在Microsoft Azure的应用程序权限中创建联系人时,出现NoPermissionsInAccessToken错误 这是我的代码:这是我要传递的。确实需要为您使用的应用程序授予权限,我假设您使用Azure门户来撤销权限。最可能的原因是您需要授予相关权限,并应单击“授予权限”按钮, 对于用户身份验证,需要为应用程序授予以下权限 应用程序权限: 读取目录数据 委派权限: 以登录用户身份访问目录 读取目录数据 登录并读取用户配置文件 如果您已经授予了Contacts.ReadWrite应

在Microsoft Azure的应用程序权限中创建联系人时,出现
NoPermissionsInAccessToken
错误


这是我的代码:这是我要传递的。

确实需要为您使用的应用程序授予权限,我假设您使用Azure门户来撤销权限。最可能的原因是您需要授予相关权限,并应单击“授予权限”按钮, 对于用户身份验证,需要为应用程序授予以下权限

应用程序权限:

  • 读取目录数据
委派权限:

  • 以登录用户身份访问目录
  • 读取目录数据
  • 登录并读取用户配置文件

    • 如果您已经授予了
      Contacts.ReadWrite
      应用程序权限

      那么您必须未授予管理员同意

      对于客户端凭据流,您不需要委派权限

      我从中了解到,我的个人帐户只能创建联系人 登录后,表示已授予权限

      你说得对

      我无法创建联系人 从应用程序权限?包括这一点,我无法理解 区分租户和目录系统及公司 帐户,因为我是Azure Active Directory的初学者

      不是这样,您可以通过应用程序权限创建联系人。但是帐户应该是租户用户。您的租户名称应该类似于
      xxx.onmicrosoft.com
      ,您的租户用户应该是username@xx.onmicrosoft.com

      更新:

      对于客户端凭据流请求,范围必须为
      https://graph.microsoft.com/.default

      并确保帐户(租户用户)是电子邮件地址,否则我们无法为其创建联系人


      我的问题是为什么我必须授予委派权限,因为我不希望用户登录,但应用程序在后台运行&在outlook中创建联系人。我为此设置了应用程序权限&生成的代码是result is。这是我的&我正在跟踪,后台权限是。但问题仍然存在。我重试了,但发现了此问题。我的门户配置是&my@ahmadlatif1084。此错误没有意义。我注意到您正在使用公共端点和客户端凭据流。哪里需要租户id?tennant id是你的吗?我用它获得了用户信息,但我仍然得到了NoPermissionsInAccessToken。此外,无论何时使用此链接作为令牌,如果我使用租户id,它都不会通过此链接获得用户详细信息,它会给我结果。