Microsoft.Bot.Sample.AadV2Bot示例的AAD图形权限异常

时间:2018-07-14 16:02:54

标签: botframework

我有部分工作的V3 Microsoft.Bot.Sample.AadV2Bot 示例。我可以检索有关当前用户的信息(例如me.DisplayName),因此我知道AAD的基本配置正确,但是当代码尝试获取用户的管理员时,它将引发异常,提示“ Infufficient权限来完成操作”。

我已将所有类型的权限添加为应用程序的 Microsoft Graph权限,作为 Delegated Permissions ,还将这些相同的权限添加至Web App Bot的 OAuth连接设置为:{{1} …但是仍然会出现相同的错误。

我无法执行的操作是让该应用程序再次询问我我在首次登录时提供初始权限后添加的新权限,因此我不知道这是否是一个问题。

所以我的问题是:

  1. 我需要设置什么权限才能获得用户的经理
  2. 我是否需要做任何事情才能重新获得许可。

失败的代码在下面,它直接来自示例应用程序并添加了try / catch,因此我可以看到发生了什么。在以下行上引发了异常(“权限不足,无法完成操作” ):

email Mail.Read offline_access openid profile User.Read User.ReadBasic.All Directory.Read.All Directory.AccessAsUser.All Group.Read.All People.Read People.Read.All Reports.Read.All User.Read.All

这里是有问题的完整方法,其中包括上面的行:

manager = await graphClient.Me.Manager.Request().GetAsync() as User;

1 个答案:

答案 0 :(得分:0)

要回答您的问题,您需要启用User.ReadBasic.All权限。这是要仔细检查和/或尝试的几件事。

确保已将以下范围添加到机器人的设置中:

OpenId email Mail.Send.Shared Mail.Read profile User.Read User.ReadBasic.All

scopes

还要确保已将它们添加到apps.dev.microsoft.com网站上的AADv2应用程序中:

App Permissions

如果您已经做完这些事情,请尝试注销并通过键入“ signout”重新登录:

Signout

我可以使用这些设置,因此我认为它也应该对您有用。