簡體   English   中英

通過 REST API 獲取 SharePoint 文檔庫中鏈接項后面的 URL

[英]Get the URL behind link items in SharePoint document library via REST API

我有一個自定義 Web 部件,可以連接到不同的數據源(例如 SharePoint 文檔庫)。 然后我可以將項目屬性從該文檔庫映射到我的不同視圖模板之一。

問題是當我在該文檔庫中添加鏈接項(外部 URL)時,我找不到存儲該外部 URL 的項屬性。

在此處輸入圖片說明

現在我通過 SharePoint REST API 獲取項目屬性。 我檢查了FileRefEncodedAbsUrl的值,但這些是指向 SharePoint 文檔庫文件的 URL,而不是指向外部 URL。

經過一些調查,我在開發工具 (F12) 網絡選項卡中看到,有一個對https://{siteurl}/_api/SP.Utilities.ShortcutLink.GetShortcutLink(@a1)?@a1={siteUrl}/Shared%20Documents/www.dummysite.com.url它將檢索實際鏈接的外部 URL,但這對我來說不是一個好的選擇,因為對每個項目進行另一個 REST 調用會影響我的性能。

那么是否有任何項目屬性可以通過 REST API 擴展以獲取外部 URL?

您可以提取特定項目的屬性,然后選擇“vti_x005f_shortcuturl”屬性。 例如

    https://<your site url>/_api/web/lists/getbytitle("your library 
    name")/items(1)/properties?$select=vti_x005f_shortcuturl 

如果您事先沒有項目 id,那么首先在第一次調用中使用 rest api 從文檔庫中僅獲取 Id,因為如果您必須兩次調用 rest api,您會關心性能,然后為每個項目 ID 調用上面的 api 需要屬性而已。 在上面的示例中,如果可用,它將返回第一個項目 ("/items(1)/") 鏈接后面的 url。

SharePoint Online 不為 Properties/vti_x005f_shortcuturl 返回任何內容

但是,我可以通過展開“文件”並選擇“文件/ServerRelativeUrl”來檢索 URL“/sites/sitename/.../surprisedPikachu.jpg”。

$expand=File&$select=*,File/Name,File/ServerRelativeUrl

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM