2016-03-26 34 views
1

我有一個包含文件夾內的圖片庫。根文件夾包含以年命名的另一個文件夾。每年文件夾包含多個相冊文件夾。至少每個專輯foilder包含圖片。我創建了一個新的布爾字段'IsCover',它定義了專輯的封面圖片。 然後我嘗試通過REST API獲取帶有文件的相冊文件夾,並且我想知道哪個文件是封面,但響應不包含此類字段。通過REST API從SharePoint文件夾獲取自定義字段的文件

http://portal/_api/web/getfolderbyserverrelativeurl('mediagallery/2016/')/Folders?$expand=Files 

"CheckInComment": "", 
"CheckOutType": 2, 
"ContentTag": "{4E99ABFD-51A3-460F-9B34-1A1962F3C2CF},1,2", 
"CustomizedPageStatus": 0, 
"ETag": "\"{4E99ABFD-51A3-460F-9B34-1A1962F3C2CF},1\"", 
"Exists": true, 
"Length": "98331", 
"Level": 1, 
"MajorVersion": 1, 
"MinorVersion": 0, 
"Name": "IMG_3474.JPG", 
"ServerRelativeUrl": "/MediaGallery/2016/NY/IMG_3474.JPG", 
"TimeCreated": "2016-03-20T21:00:27Z", 
"TimeLastModified": "2016-03-20T21:00:27Z", 
"Title": null, 
"UIVersion": 512, 
"UIVersionLabel": "1.0" 

如果我嘗試獲取庫中的所有項目,沒關係,它會顯示我的字段。

http://portal/_api/web/lists('guid')/Items 

我試圖讓$select,但它不起作用。

http://portal/_api/web/getfolderbyserverrelativeurl('mediagallery/2016/')/Folders?$expand=Files&$select=Name,Files/ServerRelativeUrl,Files/IsCover 
+0

對於SharePoint的具體問題,請請參閱SharePoint堆棧交易所( http://sharepoint.stackexchange.com)網站。 –

+0

當你說'這行不通'時,它會給你什麼樣的錯誤?我認爲你的查詢語法可能有問題。 –

+0

@AlexChance我的意思是它不能正常工作。它返回結果,但沒有我的自定義字段IsCover。 – Tannheuser

回答

0
http://portal/_api/web/getfolderbyserverrelativeurl('mediagallery/2016/')/Folders?$expand=Files 

此請求contrains只對文件內容類型字段。要從列表項中查看字段,您應該將ListItemAllFields添加到$ expand參數中。

http://portal/_api/web/getfolderbyserverrelativeurl('mediagallery/2016/')/Folders?$expand=Files,Files/ListItemAllFields 

此查詢將返回ListItemAllFields部分中的列表項和自定義字段。

1

我知道這已經接近一歲了,但我有一個類似的問題,試圖找到文檔庫中的自定義列,here有我的答案;


 
var baseUrl = 「/_api/Web/GetFolderByServerRelativeUrl(‘Pages/Landing Pages’)/Files?」; 
 
var selectQuery = 「$select=ListItemAllFields/ID,ListItemAllFields/Title,ListItemAllFields/FileRef,ListItemAllFields/Modules&」; 
 
var expandQuery = 「$expand=ListItemAllFields」; 
 
var combinedUrl = baseUrl + selectQuery + expandQuery;

只需更改ID,名稱等,爲您的列名

感謝

伊恩

+0

這個!擴展ListItemAllFields實際上對我有幫助。 _/_ api/Web/GetFolderByServerRelativeUrl('/ DocLib')/ Files?$ expand = ListItemAllFields_是我的請求url。謝謝! :) – infmja

相關問題