问题标签 [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 回答
217 浏览

microsoft-graph-api - Microsoft Graph API 中增量查询的状态令牌范围是什么?

我有一个在多个独立设备上运行的应用程序,可以跟踪同一 Outlook 邮件文件夹中的邮件。我为此使用消息增量函数调用。每个实例在文本文件中维护自己的增量链接。此解决方案在单个设备上运行良好。但是,当我在第二台设备上运行应用程序时,有时会在其中一台设备上收到“SyncStateNotFound”错误,因为当另一台设备同步几次时增量链接变得无效。

另一个堆栈溢出答案中,我了解到 Graph API 仅存储三个最近的状态标记,但是这些标记的范围是什么?令牌是否属于资源(消息文件夹)或者是否还有一种同步会话?不同的应用程序 ID授权代码是否应该提供一组不同的同步状态令牌?如果我代表授权访问同一邮箱的不同用户访问资源,我是否使用相同的同步令牌?或者是否有另一种简单的解决方案来获取第二组令牌?

0 投票
1 回答
69 浏览

microsoft-graph-api - 在 POST 请求上获得 403 Forbidden

Web 应用程序能够成功运行 GET 请求,但是当我尝试运行 POST 请求时出现 403 Forbidden 错误。

在 Azure Active Directory 中注册的应用程序中添加了“委托 - Mail.ReadWrite”权限。

使用改造2:

期望在响应中得到 200 条消息。

实际结果:403 Forbidden https://graph.microsoft.com/v1.0/me/mailFolders/{folderid}/messages/{messageid}/createReply

0 投票
0 回答
97 浏览

node.js - 列出带有附件的邮件的附件超时,否则快速返回

我正在尝试编写一个 nodejs 服务来使用 Microsoft 的图形 api 检索电子邮件附件。

我可以使用我的设置来检索收件箱消息,所以我很确定已经获得了必要的权限和 oauth 令牌。但为了清楚起见,我使用的是 client_credentials,并在 Azure 中为该服务提供了这个:

权限

当我从包含 0 个附件的消息中请求附件时,请求会快速返回一个空数组(如预期的那样)。

当我为带有附件的消息发送消息 ID 时,请求超时。我已将超时设置为 30 秒。有问题的附件约为 20KB,因此大小应该不是问题。

我错过了什么?

0 投票
1 回答
59 浏览

microsoft-graph-api - 找不到列出电子邮件回复的方法

我正在与 Microsoft Graph 集成,但找不到列出特定电子邮件的所有回复以便用户回复的方法

我们已经通过线程概念在 Gmail API 上实现了这个想法,但在 Microsoft Graph 中我们发现线程词有不同的用途

我在原始邮件和它的回复之间发现了一些共同点,conversationId但是不可能获取和过滤所有发送的消息和接收的消息,只是发现邮件具有相同的conversationId

0 投票
1 回答
2077 浏览

python - 资源“00000003-0000-0000-c000-000000000000”上不存在的范围“Mail.ReadBasic.All”

我正在连接到 Microsoft Graph Api 以下载所有用户电子邮件。我可以为进行身份验证的用户下载所有电子邮件,它适用于范围Mail.ReadBasic。但是,当我尝试使用范围Mail.ReadBasic.All以“全局管理员”身份进行身份验证时,出现以下错误:

AADSTS650053: The application 'xxx' asked for scope 'Mail.ReadBasic.All' that doesn't exist on the resource '00000003-0000-0000-c000-000000000000'. Contact the app vendor.

该应用已在 Azure 门户的设置中允许范围 Mail.ReadBasic.All。

0 投票
1 回答
23 浏览

microsoft-graph-api - 将 ActiveSync 消息映射到图表 ListMessages 响应

是否有任何记录方法可以将来自 Exchange Active Sync 的消息响应映射到来自 Microsoft Graph 的消息响应?

目前我正在编写一些自定义代码并将它们映射到本地。

0 投票
2 回答
1044 浏览

c# - 如何在请求中传递 $value 以使用图形 sdk 而不是 api 获取邮件的 mime 内容

我在 C# 中使用 Graph SDK 来阅读邮件消息,我能够做到这一点。我想要我的邮件消息的 Mime 内容。我们如何使用 SDK 在我的请求中传递 $value。

示例代码:

请让我知道我们如何在使用 graphserviceclient 的 C# 代码中传递 $value。

0 投票
1 回答
772 浏览

microsoft-graph-api - 用于创建共享邮箱的 Microsoft Graph API

如何从 MS Graph API 创建共享邮箱以及如何将用户邮箱转换为共享邮箱?从现有的创建用户 POST 查询中,我可以只创建用户而不是邮箱。

0 投票
3 回答
2260 浏览

microsoft-graph-api - 从 MS Graph API 获取消息时出现错误 504,网关超时

在过去一周左右的时间里,我们在504, Gateway Timeout从 MS Graph API 获取电子邮件消息时遇到了错误。在此之前运行了一个多月,同一个应用程序没有遇到该错误,至少没有出现任何显着频率。

  • 我们正在使用 V1.0 的 MS Graph API

  • 我们的查询相当简单:

$top=100&$orderBy=lastModifiedDateTime desc&$filter=lastModifiedDateTime lt 2019-09-09T19:27:55Z and parentFolderId ne 'JunkEmail'

  • 我们会为拥有大量数据(> 100K 电子邮件)的用户获得超时,但偶尔会为数据量较小(大约 18K 电子邮件)的用户获得超时。从系统工作到现在我们看到很多超时,音量并没有太大变化。

  • 我们尝试过简化查询,减少我们请求的消息数量等,但这似乎只产生有限且间歇性的影响。

我的问题- 我们可以做些什么来消除/显着降低从 MS Graph API 获得 504、Gateway Timeout 错误的可能性?

我怀疑,由于我们要的是没有文件夹过滤器的消息,因此我们可能会强调查询引擎。只是一种预感,如果有人真正了解 MS Graph API,我很想知道这是否可能。此外,任何有助于我们更好地了解幕后情况的信息都将不胜感激。

更新 1 (2019-09-13 15:44:00 EST)- 这是应用程序在 12 小时内(大约)发出的一组获取请求的可视化。粉色条是成功获取的次数,浅蓝色条是失败的请求(都是 504,Gateway Timeout 作为失败代码)。如您所见,当应用程序启动时,它会出现许多故障,这些故障最终会减少并消失。然后从凌晨 4 点 30 分到 9 点 30 分左右,出现了许多故障,最终消退。几乎所有失败都发生在为一个邮箱很大(> 220K 条消息)的用户获取消息时。我意识到这是一个小数据集,如果有帮助,我很乐意生成一个运行更长时间的数据集。此外,有问题的应用程序正在我们的 Azure 租户上运行,作为 Azure Function 应用程序的一部分,位于“美国东部”位置。

12 小时内获取请求的图表

更新 2,(2019 年 9 月 16 日,美国东部标准时间 09:32:00) - 我们在过去 3 天运行了系统,这是该应用程序在此期间发出的获取请求的可视化。蓝色条为成功抓取,粉色条为抓取失败(均以 504,Gateway Timeout 作为失败代码)。总结是除了第一个晚上 11PM - 2AM 的小窗口外,对于这个具有大邮箱的特定用户,没有任何请求成功。实际上,这意味着尽管有重试逻辑等,我们无法处理该用户的数据。

在此处输入图像描述

0 投票
1 回答
953 浏览

microsoft-graph-api - 从共享邮箱发送时出现 ErrorQuotaExceeded

我有一个 Web 应用程序,它使用 Microsoft Graph API 从共享邮箱发送电子邮件,但目前遇到了一些问题。

我使用用户在登录时授予的以下权限,并使用url['user.read', 'mail.readwrite', 'mail.readwrite.shared', 'mail.send', 'mail.send.shared']调用共享邮箱。https://graph.microsoft.com/v1.0/users/[shared-mail]

昨天之前正在发送电子邮件,我可以在共享邮箱收件箱 ( /mailFolders/inbox/messages?$top=50) 中看到电子邮件并将它们移动到不同的文件夹 ( messages/[id]/move)。

我的用户仍然可以毫无问题地从他们的 Outlook 应用程序电子邮件作为共享邮箱发送。

使用 Microsoft Graph Explorer 或我的 Web 应用程序时,也会显示错误,这使我认为它仅在调用 MSGraph API 时发生。

当我打电话时https://graph.microsoft.com/v1.0/users/[sharedMail]/sendMail,我得到了403 - Forbidden回复:

我的一些猜测是:

  • 从我已经达到的 Microsoft Graph API 发送电子邮件时存在某种限制(这不太可能,因为通常每天只有 40 封电子邮件)。

  • 我需要另一个权限范围才能使用资源管理器和共享邮箱进行发送。

有谁知道我的配置或我处理共享邮箱发送的方式是否有问题?