我正在构建一个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 用户以外的人,并且公共链接是机密文档的安全问题。
欢迎任何帮助。
当前没有一个 REST API 调用来执行所需的操作,尽管能够轻松地将文件从 OneDrive 附加到新电子邮件是Microsoft图形 API 的一个很好的方案,只是现在不支持。
如果要附加文件,则需要按照上述操作,下载文件的内容,然后将其作为邮件附件再次上传。
但是,我建议发送指向该文件的链接,即使您提到您不想这样做。OneDrive for Business 现在支持"公司可共享链接",这些链接的范围仅限于用户的组织,而不是完全匿名提供。
其他需要考虑的事情:发送匿名链接的安全问题与发送附件没有什么不同。事实上,匿名链接可能更安全,因为将来可以监控和撤销对文件的访问(与附件不同,附件将始终存在(。