【问题标题】:How can I download a OneDrive file with Office365 REST API into a Ruby variable?如何将带有 Office365 REST API 的 OneDrive 文件下载到 Ruby 变量中?
【发布时间】:2016-02-17 07:52:49
【问题描述】:

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

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

我找到了这个get Item content 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 用户之外的人,而公共链接是机密文档的安全问题。

欢迎任何帮助。

【问题讨论】:

    标签: ruby-on-rails office365 email-attachments onedrive microsoft-graph-api


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 好的,但你能回答这个问题吗? => 如何将文件检索到我的 Ruby on Rails 应用程序的变量中,以便我可以将其附加到带有 Outlook REST API 的电子邮件中,以便从我自己的 Rail 控制器发送它?因为我不想将文件存储在下载和电子邮件发送之间。感谢澄清
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-01
    • 1970-01-01
    相关资源
    最近更新 更多