我一直在尝试使用 /createLink api为OneDrive for Business和SharePoint DriveItem对象生成公共可下载URL .

curl \
  -X POST \
  -d '{"type":"view","scope":"anonymous"}' \
  -H 'Authorization: bearer xxx_Access_Token_xxx' \
  -H 'Content-Type: application/json' \
  "https://graph.microsoft.com/v1.0/drive/items/<item-id>/createLink"

以上调用返回JSON结果,其中 body.link.webUrlhttps://my.sharepoint.com/:u:/g/XXXXrKmGKlXXXXXXXXXXsq0Bh3x4TTXXXXXXXXXXXXXXXXX )是可共享的URL . 但是,此链接不直接包含对文件的引用 .

根据this注释,将 download=1 作为查询字符串参数附加到生成的共享URL将允许用户直接打开原始文件 . 但我找不到任何支持此行为的文档 .

是否有可能

  • 直接下载文件 .

  • 使用公共URL作为 img 标签的 src 属性 .