访问 API 中的 OneDrive 文件,如何 link 在 Office Online 中打开它们?

Accessing OneDrive files in API, how do I link them to open in Office Online?

我正在使用 OneDrive API 作为 CRM 中的文件存储,我被问到是否可以在 CRM 中单击文件直接在 Office Online 中打开它进行编辑,而不是人们必须下载文件,在自己的桌面上编辑,重新上传。

我在文档中找不到任何东西,所以也许我的 Google-fu 目前很低

对于目前 GoogleFu 较低的其他人。 当您从 API 获取项目信息时,它会列在那里。

有关更多信息,我发现搜索的最佳术语是 "wopiFrame" 它是 URL 的一部分,因此有一些非常相关的搜索结果。

您要查找的 DriveItem property 名为 webUrl。对于 Office 文档(Word、Excel、PowerPoint 等),webUrl 包含完整的link 在 Office Online 中打开文档:

{
    "id": "{driveItem-id}",
    "name": "{file-name}",
    "file": {
        "hashes": {
            "quickXorHash": "YY1FIiSDCS9hcAptSPs7prNdf5A="
        },
        "mimeType": "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
    },
    "size": 22750,
    "webUrl": "https://{domain}/{path}/_layouts/WopiFrame.aspx?sourcedoc{id}&file={file-name}&action=default",
}

如果用户还安装了本机 Office 客户端(Windows、Mac、iPad 等的 Office),他们也会看到打开的选项本机应用程序中的文档(它还将自动处理将更改直接保存回 OneDrive)。

您可以使用 this sample in Graph Explorer 自己尝试。