1

我正在构建一个 Ruby on Rails 应用程序,我想集成一些 Office365 功能。

例如:我想从 OneDrive 下载文件,然后将其附加到电子邮件中,以便通过 Outlook REST API 发送。

我发现这个获取项目内容 OneDrive REST API但我不明白如何使用它。

我知道我必须使用 Rails 发送一个 GET 请求(格式如 msdn.microsoft.com 中所述),然后它会为我提供一个“预先验证的下载 URL ”来下载文件。

然后我将不得不发送第二个 GET 请求,其中包含一个预先验证的下载 URL以开始下载,但我不明白如何处理响应以便将文件保存到变量中。

如何将文件检索到我的 Ruby on Rails 应用程序的变量中,以便我可以将其附加到带有 Outlook REST API 的电子邮件中,以便从我自己的 Rail 控制器发送它?

此外,这个工作流程在带宽和处理方面确实没有优化(3 个 REST API 请求 + 1 个下载 + 1 个上传),它会起作用。

但是,如果它存在一个 REST API 可以直接将 OneDrive 文件附加到电子邮件以发送它,那将大大减轻我的生活,节省能源,从 Microsoft 数据中心节省资金,并保护地球生态

任何教程、示例或更多解释性文档将不胜感激。

--- 编辑 --- 不希望添加电子邮件链接,因为电子邮件可能必须发送给 Office365 用户以外的人,并且公共链接是机密文档的安全问题。

欢迎任何帮助。

4

1 回答 1

2

目前没有一个 REST API 调用可以让你做你想做的事,虽然能够轻松地将文件从 OneDrive 附加到新电子邮件是 Microsoft Graph API 的一个很好的场景,但它只是不支持正确现在。

如果你想附加文件,你需要按照你提到的做,下载文件的内容,然后作为邮件的附件再次上传。

但是,我建议您改为发送指向该文件的链接,即使您提到您不想这样做。OneDrive for Business 现在支持“公司可共享链接”,其范围仅限于用户的组织,而不是完全匿名可用。

需要考虑的其他事项:发送匿名链接的安全问题与发送附件没有什么不同。事实上,匿名链接可以更安全,因为将来可以监视和撤销对文件的访问(与附件不同,附件总是在那里)。

于 2016-02-16T23:52:49.603 回答