2016-05-17 74 views
0

我試圖使用Sharepoint 2013 restful web-api從sharepoint數據表中獲取數據。對於大多數列我得到我想要的價值,但對於一列我只得到一個鏈接。 關於如何獲得價值而不是鏈接的任何想法?如果可以提供幫助,但我無法直接訪問,我可以提出請求以更改共享點數據表。我已經嘗試了SOAP UI和Chrome,並獲得了相同的結果。sharepoint web api返回一個不是值的鏈接

這是簡化的寧靜GET http://xxxxx.xxx/_vti_bin/ListData.svc/XXXXUserRegistry?$選擇= XXXXUsername

這裏是鏈接到我想要的數據響應的一部分。

<link rel="edit" title="XXXXUserRegistryItem" href="XXXUserRegistry(1600)"/> 
<link  rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/XXXUsername"  type="application/atom+xml;type=entry" title="XXXXUsername" href="XXXXUserRegistry(1600)/XXXXUsername"/> 

回答

1

在所提供的示例XXXXUsername是所謂導航屬性。根據4.2 Representing a Navigation Property

導航屬性表示從源實體到 零個或多個其他實體的引用。

導航屬性有兩種表示形式:延遲和 擴展。推遲表示用URI表示每個相關實體 。展開的表示法表示每個相關實體 及其擴展內容。

默認情況下,服務應該代表 延期格式中的每個導航屬性。這節省了資源。

客戶可能會要求使用$ expand和$ select的 組合擴展導航屬性。該服務必須代表擴展格式所要求的每個 導航屬性。

因此,爲了檢索XXXXUsername值,適用$expand查詢選項來查詢,如下面所示:

/_vti_bin/ListData.svc/XXXUserRegistry?$select=XXXXUsername&$expand=XXXXUsername 
+1

謝謝,這解決了我的問題 – David