问题标签 [microsoft-graph-mail]

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 投票
1 回答
167 浏览

microsoft-graph-api - 通过 MS 365 图形客户端阅读 Outlook 邮件,无需登录表单

我必须从 Windows 控制台应用程序的收件箱中阅读 Outlook 电子邮件。我正在尝试使用 MS Graph Client。问题是我不想登录以生成访问令牌。我应该如何在没有登录表单的情况下生成访问令牌?我将不胜感激。

我已经尝试过本文中给出的解决方案,但由于我不知道 redirectUrl 并且无法解析给定代码的某些引用,因此无法使其正常工作。

0 投票
1 回答
1959 浏览

c# - 创建允许重试 Windows 服务的 ConfidentialClientApplication 的正确方法

我正在尝试创建允许我代表特定用户发送电子邮件的 Windows 服务。

Graph Client 的最新版本允许使用WithMaxRetry. 不幸的是,在创建ConfidentialClientApplication.

目前,我使用以下代码发送电子邮件而无需输入登录名和密码:

但我不知道如何根据Request Context With Middleware OptionsConfidentialClientApplication的最新更改来创建。

因为我无法找到最新的示例,所以我的问题是,我应该如何创建GraphServiceClient才能从 Windows 服务发送电子邮件?

这是来自上述 PR 的代码:

我应该如何根据我的要求采用它?我是 Graph 的新手,所以我想避免错误的代码。

0 投票
3 回答
5801 浏览

microsoft-graph-api - 使用仅限应用的令牌时,Microsoft Graph 返回“令牌不包含权限,...”

使用 Postman,我正在尝试检索 Outlook 邮箱中收到的最后一封电子邮件。

为此,我在 App Portal 中声明了我的应用程序。然后,我可以GET请求从端点获取令牌:

接下来,我尝试使用收到的令牌在

问题是 API 返回:

在我的应用程序的权限中,我已授权与阅读电子邮件相关的所有操作。我错过了什么吗?

0 投票
1 回答
399 浏览

node.js - 无法获取某些电子邮件的 Internet 邮件标头

我正在使用适用于 Node.js 的 Microsoft Graph 客户端来获取电子邮件。我只对标题感兴趣。该代码正在运行,但最近我在internetMessageHeaders通过 API 获取时遇到了一些错误。

对于某些消息,API 不会为该字段返回任何数据(并且代码没有对此进行检查,因此会出现错误)。

我尝试使用 POSTMAN 手动运行查询。?$select=internetMessageHeaders用作查询参数以仅获取标头。如果我删除查询参数,我可以正常获取消息(正文等)。

我无法在文档中的任何地方找到为什么会发生这种情况。关于它发生了什么的任何想法?

编辑:这是我正在使用的 node.js 代码

示例输出(消息变量的值):

问题是对于某些电子邮件,消息不包含 internetMessageHeaders.

我正在使用收件箱订阅来接收来自 Outlook 的新电子邮件的事件。收到事件后,我使用 API 检索消息并从中提取标头。

API参考这里

编辑2:

以下是未能检索标头的事件的示例 JSON 输出:

0 投票
1 回答
430 浏览

c# - Microsoft Graph Beta - 从 EwsId 转换为 RestId 或 RestImmutableEntryId

我正在尝试将 a 转换EwsId为 aRestIdRestImmutableEntryId使用 Microsoft Graph 的 beta 版本。

RestId将s转换为 s 效果很好RestImmutableEntryId,但到目前为止从EwsId. 可以理解的是,由于它处于测试阶段,因此该文档目前并不丰富,但我发现一些文档说它应该是可能的:

注意:您还可以使用translateExchangeIds将 Exchange Web 服务应用程序迁移到 Microsoft Graph”。

我所做的是Id.msg文件中检索和转换,将其转换为 Base64 字符串,然后发送转换请求:

我希望得到一个ConvertIdResult回报,但相反,我得到一个Microsoft.Graph.GenericError

“[IdConverter::IsPublicFolder] 无效的压缩 ID”`

我无法找到与此错误相关的任何文档,以及如何修复它。我不是 Outlook 专家,所以就我所知,我使用了错误的 id 或其他东西。

0 投票
2 回答
1386 浏览

c# - 从多个线程(并行)使用 GraphServiceClient - 发送邮件

我需要使用 Windows 服务中的 Microsoft Graph 发送多封电子邮件。
我正在使用Microsoft.GraphNuGet 包。
我正在创建GraphServiceClient和发送邮件,如下所示:

当我一一发送电子邮件时:

一切正常,但是当我使用时Parallel.For

我收到错误,因为我收到太多请求 (429),然后是不受支持的媒体类型 (415)。

这是错误代码:

代码:RequestBodyRead 消息:尝试读取消息时发现内容类型标头丢失或为空。内容类型标头是必需的。

这是它在 Fiddler 中的外观:

在此处输入图像描述

我的问题是:我可以使用以及应该如何使用 GraphParallel.For来避免这种错误。我已经WithMaxRetry(5)为每个请求进行了设置。

我知道使用限制,但我认为WithMaxRetry(5)会有所帮助。

0 投票
1 回答
396 浏览

microsoft-graph-api - 在 Microsoft Graph 中获取附加消息的附件

我正在尝试使用 Microsoft Graph(和 Microsoft Graph SDK)检索电子邮件,但遇到了以下问题:当电子邮件附加了另一条 Outlook 邮件并且该邮件也有附件时,我无法获取他们。

我可以使用以下查询检索附加的消息,但我不能对附件进行第二次扩展,因为我已经在做一个以获取 OutllokItem(message)

这可能吗?提前致谢。

0 投票
1 回答
1093 浏览

python - 如何使用 python 将 Outlook API 中的 pdf 附件保存到文件中

当我从特定电子邮件请求附件时,我正在使用 Outlook API 并收到此响应:

我只展示了contentBytes价值的一小部分,因为它太长了,但它是我感兴趣的。

我尝试contentBytes使用 base64 模块解码该值并得到了这个(仅显示部分结果)

我怎样才能看到pdf的实际内容?

0 投票
2 回答
1499 浏览

microsoft-graph-api - 无法将“In-Reply-To”参数传递给 Microsoft Graph sendMail

我允许用户使用 Microsoft Graph API 使用其 Outlook 帐户发送电子邮件,但它似乎在另一端创建了多个线程。

使用 Mailgun API 发送用户电子邮件时,我能够传递引用上一条消息 Message-ID 的 In-Reply-To 消息标头,并且线程由另一端的客户端(Outlook/Gmail 等)正确集群

但是当使用 Microsoft Graph API 时,我尝试传递 In-Reply-To 并且它不被 API 接受

https://docs.microsoft.com/en-us/graph/api/user-sendmail?view=graph-rest-1.0

我得到以下回复:

有没有办法让收件人客户在同一个线程中发送电子邮件?

0 投票
2 回答
359 浏览

microsoft-graph-api - 调用 /me/messages 时返回访问被拒绝

我目前正在尝试进行 REST 调用以获取特定帐户的邮箱消息统计信息(即已读/未读计数)。我已经在 Microsoft Graph Explorer 中完成了这项工作,并设法获得了相关的User.Read和许多其他非管理员权限。

当我尝试在 Postman 中复制此过程时,我收到“访问被拒绝。检查凭据并重试。”。我一直遵循本指南,直到这里我无法继续前进,尽管有正确的权限。

甚至我的令牌生成响应也包含"scope": "User.Read"

我只想打电话给GET https://graph.microsoft.com/v1.0/me/messages 注册的应用程序是我要监控的电子邮件的帐户。我可以成功调用 Graph Explorer,但无法使用 Postman、PowerShell 或 groovy 复制结果