gpt4 book ai didi

c# - Microsoft Graph 和无用户访问

转载 作者:太空宇宙 更新时间:2023-11-03 22:34:52 26 4
gpt4 key购买 nike

我正在尝试使用在我的 ASP.NET Core 应用程序中频繁运行的后台任务(守护程序)在我的在线共享点中上传和下载文件。由于它是后台任务,因此不使用用户身份。相反,我尝试遵循此document ,使用 https://graph.microsoft.com/.default 范围获取访问 token ,以及让我的企业应用程序在 azure 上拥有管理员已授予的特定权限。 admin consent

我可以使用我的应用程序的客户端 ID 和 key 获取访问 token 。然而,当我尝试请求共享点上特定站点上的驱动器时,它只是停止,暗示我它无法到达路径。当我使用我的用户凭据时,我可以完全正常地到达相同的路径。

我想我可能错过了一个步骤或一些与 azure 管理相关的任务。下面的代码片段显示我可以获取访问 token ,但在获取驱动器时停止。

var client = new ConfidentialClientApplication(id, uri, cred, null, new SessionTokenCache());
var authResult = await client.AcquireTokenForClientAsync(new[] {"https://graph.microsoft.com/.default"});
var token = authResult.AccessToken; // get token successfully
var graphServiceClient = new GraphServiceClient(new DelegateAuthenticationProvider(async request => {request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", token)}));
// stalls below
var drives = await graphServiceClient.Sites[<sharepoint_host>].SiteWithPath(<known_path>).Drives.Request().GetAsync();

在 ASP.NET Core 2 应用中使用 Microsoft Graph SDK。

编辑:下面是更新的屏幕截图,显示添加并同意的应用程序权限: updated screenshot

最佳答案

根据您的图片,您已向该应用授予委派权限。您需要授予应用程序权限。委派权限仅在代表用户执行操作时适用。

关于c# - Microsoft Graph 和无用户访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55749816/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com