问题标签 [msgraph]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
27 浏览

azure - Azure Ad WebApp MSGraph 值不能为空

我遇到了 Azure 和本地之间的 AzureAd/Graph 配置问题。我在 Visual Studio 和独立 exe 中都在本地使用 Vs2019 .Net Core 5 Identity.Web 1.23。当相同的代码部署到 Azure Web 应用程序时,我能够连接到 Graph 获取我的角色和详细信息,我得到以下信息。

代码:generalException 消息:发送请求时发生错误。值不能为空。(参数“标头”)在 Microsoft.Identity.Web.AppServicesAuthenticationInformation.GetIdToken(IDictionary2 headers) at Microsoft.Identity.Web.AppServicesAuthenticationTokenAcquisition.GetAuthenticationResultForUserAsync(IEnumerable1 范围,字符串 authenticationScheme,字符串tenantId,字符串 userFlow,ClaimsPrincipal 用户,TokenAcquisitionOptions tokenAcquisitionOptions) 在 Microsoft.Identity.Web.TokenAcquisitionAuthenticationProvider.AuthenticateRequestAsync(HttpRequestMessage request) 在 Microsoft.Graph.AuthenticationHandler.SendAsync(HttpRequestMessage httpRequestMessage, CancellationToken cancelToken) 在系统。 Net.Http.HttpClient.SendAsyncCore(HttpRequestMessage 请求,HttpCompletionOption 完成选项,布尔异步,布尔 emitTelemetryStartStop,CancellationToken 取消令牌)在 Microsoft.Graph.HttpProvider.SendRequestAsync(HttpRequestMessage 请求,HttpCompletionOption 完成选项,CancellationToken 取消令牌)<Microsoft.Identity.Web

有问题的代码

app.config 供参考

任何为我指明方向的东西都会有所帮助,我已经为此困扰了一个星期。

0 投票
1 回答
30 浏览

powershell - 为什么我不能从 Graph Explorer 调用与从 Az 执行 Powershell 相同的 API?

我正在Az使用 Powershell 连接:

然后,我正在尝试执行命令:

一切都很好,我得到了结果。-Debug我看到的标志是Az执行 API 方法:

然后,我转到Graph Explorer并尝试使用我登录的相同帐户从那里执行相同的方法,Az并且我从调用中收到授权错误:

在此处输入图像描述

当我检查时,我需要什么样的特权才能执行此操作,我可以看到我的帐户无法Directory.Read.All获得许可。

所以问题是,为什么允许我使用同一个帐户从Powershelltha执行更多操作?graph

0 投票
0 回答
9 浏览

msgraph - MSGraph 聊天 API - 无需阅读聊天正文

我们的用例要求我们计算用户每小时收到的聊天消息的数量。我们不想接收或阅读聊天内容。这是为了确保我们拥有高度信任和私密的设计,以满足美国/欧洲组织的隐私和安全标准。

通过我们的研究,我们发现了两种选择:

备选方案1:

获取聊天 https://docs.microsoft.com/en-us/graph/api/chat-get?view=graph-rest-1.0&tabs=http

这非常适合我们的需求,因为我们需要的信息是基本的,我们从管理员那里寻求的权限是 Chat.ReadBasic.All

虽然此 API 需要获取用户的聊天 ID,但我们也需要使用 List Chat API

列表聊天 https://docs.microsoft.com/en-us/graph/api/chat-list?view=graph-rest-1.0&tabs=http

这个 API 的问题是它不允许应用程序级别的权限,我们被迫获取用户的访问令牌来访问对这个 API 的委托访问——这不是一个好的安全实践。

备选方案2: ** ** https://docs.microsoft.com/en-us/graph/api/chats-getallmessages?view=graph-rest-1.0&tabs=http

我们能够在没有用户级别访问令牌的情况下计算具有应用程序级别权限的聊天消息。即使我们正在接收聊天消息的正文,我们也不会阅读或保存这些消息。

问题在于我们有来自美国和欧洲公司的团队管理员的反对——因为我们确实可以访问聊天的正文,无论我们是否阅读。

请求您的帮助 a) 建议一个类似于 List Chat API 且具有应用程序级别权限的 API b) 建议一个类似于 GetAllMessages API 的 API,但不包含聊天消息正文 c) 建议一个我们可能没有考虑过的替代方案

提前致谢!

0 投票
0 回答
17 浏览

microsoft-graph-sdks - 使用 MS Graph SDK 按 SingleValueExtendedProperties 过滤事件

我使用 MS Graph SDK 在 Outlook 日历上创建了一个事件,并且成功添加了 SingleValueExtendedProperty。当我尝试仅使用该 SingleValueExtendedProperty 检索那些日历事件时,过滤器不起作用。我确实在我创建的事件中取回了该属性,但我也取回了其他事件。.Expand 似乎工作,但过滤器没有。这是我的查询:

我尝试过使用和不使用 HTML 对空格和括号进行编码,无论哪种方式都具有相同的结果。