问题标签 [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.
microsoft-graph-api - Microsoft Graph API 中增量查询的状态令牌范围是什么?
我有一个在多个独立设备上运行的应用程序,可以跟踪同一 Outlook 邮件文件夹中的邮件。我为此使用消息增量函数调用。每个实例在文本文件中维护自己的增量链接。此解决方案在单个设备上运行良好。但是,当我在第二台设备上运行应用程序时,有时会在其中一台设备上收到“SyncStateNotFound”错误,因为当另一台设备同步几次时增量链接变得无效。
从另一个堆栈溢出答案中,我了解到 Graph API 仅存储三个最近的状态标记,但是这些标记的范围是什么?令牌是否属于资源(消息文件夹)或者是否还有一种同步会话?不同的应用程序 ID或授权代码是否应该提供一组不同的同步状态令牌?如果我代表授权访问同一邮箱的不同用户访问资源,我是否使用相同的同步令牌?或者是否有另一种简单的解决方案来获取第二组令牌?
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
microsoft-graph-api - 找不到列出电子邮件回复的方法
我正在与 Microsoft Graph 集成,但找不到列出特定电子邮件的所有回复以便用户回复的方法
我们已经通过线程概念在 Gmail API 上实现了这个想法,但在 Microsoft Graph 中我们发现线程词有不同的用途
我在原始邮件和它的回复之间发现了一些共同点,conversationId
但是不可能获取和过滤所有发送的消息和接收的消息,只是发现邮件具有相同的conversationId
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。
microsoft-graph-api - 将 ActiveSync 消息映射到图表 ListMessages 响应
是否有任何记录方法可以将来自 Exchange Active Sync 的消息响应映射到来自 Microsoft Graph 的消息响应?
目前我正在编写一些自定义代码并将它们映射到本地。
c# - 如何在请求中传递 $value 以使用图形 sdk 而不是 api 获取邮件的 mime 内容
我在 C# 中使用 Graph SDK 来阅读邮件消息,我能够做到这一点。我想要我的邮件消息的 Mime 内容。我们如何使用 SDK 在我的请求中传递 $value。
示例代码:
请让我知道我们如何在使用 graphserviceclient 的 C# 代码中传递 $value。
microsoft-graph-api - 用于创建共享邮箱的 Microsoft Graph API
如何从 MS Graph API 创建共享邮箱以及如何将用户邮箱转换为共享邮箱?从现有的创建用户 POST 查询中,我可以只创建用户而不是邮箱。
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 应用程序的一部分,位于“美国东部”位置。
更新 2,(2019 年 9 月 16 日,美国东部标准时间 09:32:00) - 我们在过去 3 天运行了系统,这是该应用程序在此期间发出的获取请求的可视化。蓝色条为成功抓取,粉色条为抓取失败(均以 504,Gateway Timeout 作为失败代码)。总结是除了第一个晚上 11PM - 2AM 的小窗口外,对于这个具有大邮箱的特定用户,没有任何请求成功。实际上,这意味着尽管有重试逻辑等,我们无法处理该用户的数据。
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 封电子邮件)。
我需要另一个权限范围才能使用资源管理器和共享邮箱进行发送。
有谁知道我的配置或我处理共享邮箱发送的方式是否有问题?