问题标签 [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 投票
2 回答
165 浏览

ruby - 有没有办法检查特定请求 ID 的日志?

我一直致力于订阅,以便在收到电子邮件时通知我的应用程序。为了激活订阅,我向https://graph.microsoft.com/v1.0/subscriptions. 每当我发送请求时,我都会收到以下错误(请注意,从 Graph Explorer 尝试时,这工作正常):

代码示例:

0 投票
2 回答
1615 浏览

c# - 使用 MS Graph 库发送带有大附件的电子邮件

最近微软宣布可以发送带有大于 4MB 附件的电子邮件。根据文档,我们必须创建草稿,然后是上传会话,上传附件,最后发送邮件。

我可以使用以下代码创建草稿:

但是当我尝试从文档中提取片段时:

我得到这些错误:

  1. 找不到类型或命名空间名称“AttachmentItem”(您是否缺少 using 指令或程序集引用?)
  2. 当前上下文中不存在名称“AttachmentType”
  3. “IMessageAttachmentsCollectionRequestBuilder”不包含“CreateUploadSession”的定义,并且找不到接受“IMessageAttachmentsCollectionRequestBuilder”类型的第一个参数的可访问扩展方法“CreateUploadSession”(您是否缺少 using 指令或程序集引用?)

我添加了对稳定版和 beta 版图形库(Microsoft.Graph、Microsoft.Graph.Beta)的引用(我之前使用过 beta 端点),但我找不到AttachmentItem.

我已经搜索了 AttachmentItem 的两个存储库(https://github.com/microsoftgraph/msgraph-sdk-dotnethttps://github.com/microsoftgraph/msgraph-beta-sdk-dotnet),但我什么也没找到.

发送带有大附件的邮件是一项相当新的功能(文档来自 2019 年 10 月 25 日),但根据文档,这应该得到支持。

文档错了吗?如何创建上传会话并上传附件?我必须手动创建请求吗?或者我可以使用 Microsoft.Graph 库吗?

我只看到CreateUploadSessionDrive - https://github.com/microsoftgraph/msgraph-sdk-dotnet/search?q=CreateUploadSession&unscoped_q=CreateUploadSession

0 投票
1 回答
169 浏览

microsoft-graph-api - 如何将 InternetMessageHeaders 添加到回复消息

我在消息上使用回复方法:

我的问题是 - 我如何在回复中添加 InternetMessageHeaders - 上面没有添加标题。但是,对 SendMail 使用相同的技术确实设置了属性。

我尝试使用 CreateReply 然后更新消息 - 这也无法添加标题。

0 投票
1 回答
740 浏览

javascript - file attachment using microsoft graph send mail not working

Getting the mail without the attachment I am using microsoft graph sendMail. I need to add an attachment at the same time. I added the attachment Object inside message of request body. But received the mail without the attaachment. i was following : https://docs.microsoft.com/en-us/graph/api/resources/fileattachment?view=graph-rest-1.0 PFB my code.

what am i missing here ??

0 投票
3 回答
2508 浏览

microsoft-graph-api - 使用客户端凭据流(守护进程)访问 Microsoft Graph API 时出现“租户 guid 的租户 ... 不存在”

我想从控制台应用程序定期访问 Microsoft Graph,以便将邮件从 Outlook 邮箱复制到数据库。为了以编程方式进行身份验证,我不得不使用 Microsoft Graph 的“客户端凭据流”。

这些是我必须采取的步骤:

  1. 在 Azure 门户中注册一个应用程序并为其创建一个客户端密码。
  2. 添加我需要的所有权限并授予他们访问权限:

    添加所需的权限并授予他们管理员访问权限

  3. 让管理员通过首次访问来确认这些权限。这是使用以下 URL 完成的:

    我收到以下回复:

    (范围可能会解释这里稍后描述的问题:为什么我只有User.Read在配置了 13 个不同的权限时才能得到??)

    使用管理员凭据确认权限

  4. 获取访问令牌(成功!):

    获得访问令牌

  5. 尝试阅读用户(成功):

    成功获取用户列表

  6. 尝试阅读我自己的电子邮件(没有成功):

    自己的电子邮件不走运

  7. 尝试阅读其他人的电子邮件(用户被邀请以访客身份访问应用程序,但仍然没有成功):

    没有运气尝试阅读客人的电子邮件

我不明白为什么我不能阅读消息,但我可以阅读用户。似乎权限被完全忽略了(我确认我不需要任何权限来读取用户)。

更新

这是我的租户名称:

在此处输入图像描述

这些是添加到租户的用户:

在此处输入图像描述

重要提示:我的 Azure AD 中没有 Office 365 订阅。所有这些电子邮件都属于不同的广告。

即使用户在用户端点上列出,上一个问题“租户 guid 的租户不存在”?与我的相似,但我相信这不是重复的,因为我的问题略有不同,并且建议的解决方案使用 OAuth1(我使用的是 OAuth2)。

0 投票
1 回答
422 浏览

c# - 向电子邮件添加参考附件会响应缺少的 SourceUrl 参数

我正在尝试通过 Microsoft Graph 发送附件大于 4MB 的电子邮件。在网上搜索我得出的结论是,对于大于 4MB 的文件,我需要通过上传会话将文件上传到 onedrive,然后将其作为“参考附件”添加到电子邮件中。

到目前为止,我的代码如下所示,首先我将文件上传到一个驱动器

这工作得很好,我将文件上传到一个驱动器并获得所述文件的 ID。下一步是将电子邮件创建为草稿。

var email = await graphClient.Users[fromEmail].Messages.Request().AddAsync(message);

这也很好用,我将电子邮件创建为草稿(我可以在 Outlook 上看到它),并且我得到了所述附件的 ID。

现在到有问题的部分,当我尝试将附件添加到草稿电子邮件时。

当我尝试执行 AddAsync() 它响应:

问题是 ReferenceAttachment 没有 SourceUrl 属性,我也没有在上传文件的响应中找到 sourceUrl 参数。我尝试将它添加到附件的 AdditionalData 属性中,这是一个字典,但它不起作用。

还尝试像这样通过 Postman 发送请求(也尝试将其发送到 API 的 beta 版本):

回应是

我在哪里添加这个 SourceUrl 属性,我从哪里得到它?

0 投票
1 回答
497 浏览

azure - 如何调试从不触发的 Microsoft Graph API 订阅?

我成功地创建了一个消息事件的订阅,但它永远不会触发。有人可以帮我指出我可能缺少的任何有用的调试工具吗?到目前为止,这是我的调试进度...

订阅是否已创建?

我相信是这样。我使用以下方法创建了它:

  • 端点返回201 Created
  • 验证 webhook触发。我根据文档做出回应,以便设置订阅。
  • 我验证它是通过调用创建的GET /subscriptions并在那里查看

发生了正确的事件吗?

根据这篇文章,我直接搜索了应该触发事件的消息:

它就在那里。

我的回调 URL 真的有效吗?

curl -XPOST https://glitch-subdomain.glitch.me/callback-that-just-logs-stuff

是的。

它可以使用图形浏览器工作吗?

是的!但为什么不在我的应用程序中?我怀疑这是应用程序配置的问题,但没有输出,我找不到日志消息,我找不到 webhook 日志。

https://graph.microsoft.com/v1.0/me为了进一步调试,我使用来自 MS Graph API 的身份验证令牌和我的应用程序令牌请求端点。也许我正在使用其他帐户进行操作?他们是相同的。

更多上下文...

我的应用程序(和 Graph Explorer)请求Mail.ReadUser.Read权限。我没有经过特殊的验证过程。而且(更糟的是)它以前可以工作。但即使在回滚到它工作的点之后,仍然是一样的。

任何提示将不胜感激

0 投票
0 回答
89 浏览

microsoft-graph-api - 用于共享邮箱的 Microsoft Graph API DeltaLinks 从不返回更改

我有一个 Office 365 Business Essentials Exchange Online 共享邮箱,我需要按计划检索更改。通过 Microsoft Graph API 应用程序权限向已注册 AzureAD 的应用程序授予对此邮箱的访问Mail.ReadWrite权限。已获得管理员同意。通过ApplicationAccessPolicy邮箱访问仅限于这个邮箱。

由于这是一个全新邮箱上的简单测试用例,仅包含少量测试电子邮件,因此我没有使用任何过滤器或搜索词。初始请求采用以下格式:https://graph.microsoft.com/v1.0/users/{ID}/mailFolders/{ID}/messages/delta?$select=sender,receivedDateTime,subject,body

检索 access_token 没有问题。初始请求和后续nextLink请求也返回没有问题的结果。但是,向 发出请求deltaLink总是返回一个空数据集。deltaLink无论自检索以来对文件夹中的消息所做的任何更改,都会发生这种情况。相反,我得到以下响应:

无论我是从注册的应用程序还是通过我自己的帐户使用 Microsoft Graph Explorer 运行查询,都会出现此行为。

我是在途中遗漏了一步还是这是一个错误?如果后者有人知道解决方法吗?

0 投票
1 回答
277 浏览

microsoft-graph-api - 获取与 MS Graph API 中的事件关联的 EventMessage

我正在创建一项服务,该服务需要在满足某些条件时从房间的角度拒绝活动更新与会者日历上的活动。

虽然拒绝会议很简单,但我正在努力更新用户日历上的事件。我假设我会使用update eventMessage来做到这一点。

现在我有被拒绝的事件的 ID,我需要将该事件与其 eventMessage 相关联。因此,我提出以下要求:

我要做的是获取所有消息,然后展开以便我看到与每条消息关联的事件,然后按其 ID 过滤每个事件,直到找到我关心的事件。一旦我有了那个事件,我就可以向它的 eventMessage 发送更新。

但是,我得到了错误"Parsing Select and Expand failed."

我哪里错了?

0 投票
2 回答
1054 浏览

microsoft-graph-api - 扩展和过滤 MS Graph API 不起作用

我需要eventMessage从与特定event.

我有事件iCalUId,但我无法过滤它:

我要做的是获取所有消息,然后展开以便我看到与每条消息关联的事件,然后过滤每个事件以找到我关心的事件。

但是,我收到所有事件的响应,并且过滤机制不起作用。

我哪里错了?