gpt4 book ai didi

azure - Azure Functions Microsoft Graph 请求上的 Authorization_RequestDenied

转载 作者:行者123 更新时间:2023-12-03 01:40:39 26 4
gpt4 key购买 nike

我有一个非常基本的 azure 功能:

#r "Newtonsoft.Json"

using System.Net;
using System.Net.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Primitives;
using Newtonsoft.Json;

public static async Task<IActionResult> Run(HttpRequest req, string authToken, ILogger log)
{
string msgId = req.Query["messageId"];

string requestBody = await new StreamReader(req.Body).ReadToEndAsync();
dynamic data = JsonConvert.DeserializeObject(requestBody);
msgId = msgId ?? data?.messageId;

if (string.IsNullOrEmpty(msgId))
return new BadRequestObjectResult("Please pass a messageId on the query string or in the request body");

// access me via graph
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Add("Authorization", "Bearer " + authToken);
var response = await client.GetAsync("https://graph.microsoft.com/v1.0/users/*****/mailFolders/inbox/messages/" + msgId);
string retResp = await response.Content.ReadAsStringAsync();
log.LogInformation(retResp);
}

return new OkObjectResult(msgId);
}

Auth token 由 azure 函数 Auth token 绑定(bind)提供: Auth token Input binding

但是我总是从 Microsoft graph 得到以下答案:

{
"error": {
"code": "Authorization_RequestDenied",
"message": "Insufficient privileges to complete the operation.",
"innerError": {
"request-id": "24a1e799-2f9f-4452-8d46-20d4e3db160d",
"date": "2019-01-02T07:39:15"
}
}
}

是的:管理员同意了,我什至尝试向应用程序授予所有可用权限并同意,但我仍然收到相同的消息。您知道我如何验证 token 或获取更多信息吗?

最佳答案

您的 AAD 应用程序似乎配置不正确 - 为了阅读 Outlook 邮件,您需要拥有 Mail.Read 权限。您可以从页面上的“身份验证 token 输入”部分进行检查(屏幕截图上显示“正在加载”)。它应该类似于下面的内容(配置了不同的权限)。另外,您可以尝试在“身份”下拉列表中使用“来自请求的客户端”选项。

enter image description here

每当您更改权限范围时,您都应该通过在浏览器中访问此 URL 并接受访问要求来重新同意应用程序:https://<yourfunctionapphost>.azurewebsites.net/.auth/login/aad?prompt=consent

关于azure - Azure Functions Microsoft Graph 请求上的 Authorization_RequestDenied,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54002912/

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