【发布时间】:2020-03-10 15:41:31
【问题描述】:
首先,作为一名学生,我缺乏一些经验来理解我所尝试的一切以及我所尝试的一切。但是,我觉得我已经尝试了网上几乎所有可用的解决方案。
我正在为我的公司开发一个基于 Yeoman 的 Outlook 插件(带有 Node.js 的完整 javascript),我需要从邮件中获取附件,而不仅仅是大小等信息,文件类型或附件名称,如果可能,我需要 base64 格式的完整内容(以便生成包含邮件正文和附件的 .eml 文件)。
我找到了多种方法,但问题是它们都不起作用:
- 首先我尝试了凌乱的微软文档,我发现的第一个解决方案是这个:https://docs.microsoft.com/en-us/office/dev/add-ins/outlook/get-attachments-of-an-outlook-item,问题是这个解决方案我需要使用c#,但是我的加载项是完整的js,我需要找到一个适用于 JS 和 Node.js 的解决方案
- 然后我寻找一种解决方案,允许我与 Exchange Server 以某种方式进行通信以获取附件内容,我发现:https://github.com/gautamsi/ews-javascript-api,但这不适用于面向浏览器的加载项(和我需要我的加载项在客户端和浏览器上工作),所以我利用了这个:https://github.com/gautamsi/ews-js-api-browser。我在第一个链接和这里找到了一些代码示例:Save outlook Email attachment using ews-javascript-api npm in node JS 这帮助我构建了一些应该可以工作的东西(在第三个链接的示例代码上使用第二个链接的示例语法),但到了我正在尝试的地步为了从邮件中获取附件,我从附件中获取了很多信息,但是与它的内容相关的任何内容都是空的,下一步我“加载”文件从“服务”返回错误 500文档为空”,我仍然不知道为什么。
- 最后,我试图退后一步,在 google 上查找 office api 以及如何获取附件内容,我找到了这个链接:https://blog.mastykarz.nl/office-365-unified-api-mail/ 几乎看起来不错,我是对的:根据 microsoft doc,我需要一个令牌才能使 office 365 api url 工作,这是 Azure AD 在管理员授权您获取它时提供的令牌(或者我认为,这是 microsoft doc 所在的部分更混乱)。问题是,在 Azure AD 上连接时,我在网站上的屏幕上显示一个错误(绝对没有关于该错误的详细信息),并且我需要访问某些地方才能获得我的令牌无法正常工作,显示另一个错误没有任何细节的消息,或者只是从不加载。
我已经尽可能减少了我的问题的大小,不想让你淹没在信息、示例代码、链接和图片中,所以如果它看起来太长而且细节太差,很抱歉。
感谢您抽出宝贵时间,随时提出您想到的任何解决方案、建议或意见!
【问题讨论】:
标签: javascript node.js outlook outlook-addin email-attachments