我正在尝试获取与用户相关联的计划者计划的列表。我可以使用以下API调用在Graph Explorer(使用我的工作Microsoft帐户登录)中进行此操作:
https://graph.microsoft.com/v1.0/users/<my-email>/planner/plans
但是,我需要使用控制台应用程序中的令牌,因为我需要在没有用户干预的情况下将其作为计划任务运行。从我的应用程序中,我收到访问被拒绝的错误:
401-未经授权:由于凭据无效而拒绝访问。您无权使用以下命令查看此目录或页面 您提供的凭据。
我可以成功调用“通用”方法(例如https://graph.microsoft.com/v1.0/groups
),但不能调用特定于用户的方法。
我正在使用以下方式获取令牌:
context = new AuthenticationContext("https://login.microsoftonline.com/<my_tenant");
context.AcquireTokenAsync("https://graph.microsoft.com", new ClientCredential(clientId, appKey));
我如何赋予此令牌必要的权限以读取诸如计划程序之类的内容?我已经在 Azure AD 刀片下的 Azure Portal 中进行了尝试:
答案 0 :(得分:2)
根据您的描述,我假设您要列出用户的计划。
根据我的测试,我们可以使用以下简单代码:
public PlanClientService()
{
_serviceClient = GraphSdkHelper.GetGraphServiceClient();
}
public async Task<IList<PlannerPlan>> PlannerPlansAsync()
{
var plans = await _serviceClient.Me.Planner.Plans.Request().GetAsync();
return plans;
}
我们可以参考the simple code以获得更多详细信息。
并且根据错误描述,您应该在获得访问令牌时添加Group.Read.All, Group.ReadWrite.All
权限。