1

我正在使用 Microsoft Graph 预览存储在 SharePoint 中的项目。

我尝试了driveItem: preview API,我得到了这样的 URL 返回:

https://{domain}.sharepoint.com/_layouts/15/embed.aspx?uniqueId={guid}&access_token=eyJ0eXAiOiJKV...

但是当我将它渲染成 a 时div,它会显示这个错误:

“嗯......看起来这个文件没有我们可以显示的预览”

在此处输入图像描述

以下是.aspx页面中的代码:

function OpenDocument(fileURL, filename) {
    var path = filename;
    var ext = path.substring(path.lastIndexOf(".") + 1, path.length).toLowerCase();

    var object = "<object data=\"{FileName}\" class=\"{CP}\">";  //Add class if PDF file is uploaded 
    object += "If you are unable to view file, you can download from <a href=\"{FileName}\" target = \"_blank\">here</a>";
    object += " or download <a target = \"_blank\" href = \"http://get.adobe.com/reader/\">Adobe PDF Reader</a> to view the file.";
    object += "</object>";
    object = object.replace(/{FileName}/g, fileURL);

    var iframe = '';

    if (ext == 'pdf') { //Add class if PDF file is uploaded 
        object = object.replace(/{CP}/g, "clsPdf");  //G16052017
        $("#dialogContent").html(object);
    }
    else {
        iframe += "<embed src='" + fileURL + "' />";
        $("#dialogContent").html(iframe);
    }

    ShowDocumentPopup();
    return false;
} 

我还将预览 URI 传递给了一个嵌入的标签,iframe但没有成功。

这是 HTML 呈现问题还是 SharePoint 在显示图像预览方面有一些限制?

注意:我添加了一个假的预览 URL 供您参考,只是为了向您展示 Preview API 发送的 URL 的格式。

4

1 回答 1

0

文档不是很清楚,但据我了解,“预览”端点更适合嵌入文档预览。您所描述的听起来更像是文件缩略图,并且有一个特定的端点:列出 DriveItem 的缩略图。这将返回给定文件的一组文件缩略图:

{
  "value": [
    {
      "id": "0",
      "small": { "height": 64, "width": 96, "url": "https://sn3302files..."},
      "medium": { "height": 117, "width": 176, "url": "https://sn3302files..."},
      "large": { "height": 533, "width": 800, "url": "https://sn3302files..."}
    }
  ]
}

您还可以通过 API 请求缩略图内容:

GET /sites/{site-id}/drive/items/{item-id}/thumbnails/{thumb-id}/{size}/content
于 2019-12-02T18:51:46.530 回答