我正在尝试使用Sharepoint 2013 restful web-api从sharepoint数据表中获取数据。对于大多数列,我得到了我想要的值但是对于一列我只得到一个链接。 关于如何获得价值而不是链接的任何想法?我可以请求更改sharepoint数据表,如果这可以帮助但我无法直接访问它。我尝试过使用SOAP UI和Chrome,并获得相同的结果。
这是简化的Restful 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"/>
答案 0 :(得分:1)
在提供的示例中,XXXXUsername
是所谓的导航属性。根据{{3}}:
导航属性表示源实体的引用 零个或多个其他实体。
导航属性有两种表示形式:延迟和 扩大。延期表示代表每个相关实体 带有URI。扩展表示代表每个相关实体 扩展内容。
默认情况下,服务应该代表中的每个导航属性 延期格式。这节省了资源。
客户端可以使用a来请求扩展导航属性 $ expand和$ select的组合。服务必须代表每个 以扩展格式请求的导航属性。
因此,为了检索XXXXUsername
值,请对查询应用$expand
查询选项,如下所示:
/_vti_bin/ListData.svc/XXXUserRegistry?$select=XXXXUsername&$expand=XXXXUsername