通过 REST 从 SharePoint Web 服务获取用户信息不起作用
Getting User Info from SharePoint Web Services via REST not working
现状:
我正在使用 SharePoint 网络服务调用“GetListItems”从 SharePoint 列表中检索数据。
不幸的是,我有 多个 类型的列。他们只显示此人的姓名,但我还想检索此人的电子邮件地址。
我发现了这个:
<QueryOptions><ExpandUserField>TRUE</ExpandUserField></QueryOptions>
并将其插入此处:
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<GetListItems xmlns="http://schemas.microsoft.com/sharepoint/soap/">
<listName>blahblah</listName>
<query>
<Query>
<Where>
<And>
<Eq>
<FieldRef Name='result' />
<Value Type="Text">Relationship declined</Value>
</Eq>
<Eq>
<FieldRef Name='Tracking_x0020_performed' />
<Value Type="Text">Open</Value>
</Eq>
</And>
</Where>
<QueryOptions><ExpandUserField>TRUE</ExpandUserField></QueryOptions>
</Query>
</query>
<viewFields>
<ViewFields xmlns=""> </ViewFields>
</viewFields>
<rowLimit>5000</rowLimit>
</GetListItems>
</soap12:Body>
</soap12:Envelope>
我没有在我的回复中获得关于人员类型字段的任何特别的额外信息 XML,只是已经在 SP 列表中的字段。
那么如何从人员类型字段中检索电子邮件等?正如我所说,我只是在获取他们的显示名称。
我自己解决了
对于所有感兴趣的人,这是正确的方法:
<queryOptions>
<QueryOptions>
<ExpandUserField>TRUE</ExpandUserField>
</QueryOptions>
</queryOptions>
加上它必须刚好低于 "GetListItems" 级别 - 因此与 "listName" 和 "query"
处于同一级别
现状: 我正在使用 SharePoint 网络服务调用“GetListItems”从 SharePoint 列表中检索数据。
不幸的是,我有 多个 类型的列。他们只显示此人的姓名,但我还想检索此人的电子邮件地址。
我发现了这个:
<QueryOptions><ExpandUserField>TRUE</ExpandUserField></QueryOptions>
并将其插入此处:
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<GetListItems xmlns="http://schemas.microsoft.com/sharepoint/soap/">
<listName>blahblah</listName>
<query>
<Query>
<Where>
<And>
<Eq>
<FieldRef Name='result' />
<Value Type="Text">Relationship declined</Value>
</Eq>
<Eq>
<FieldRef Name='Tracking_x0020_performed' />
<Value Type="Text">Open</Value>
</Eq>
</And>
</Where>
<QueryOptions><ExpandUserField>TRUE</ExpandUserField></QueryOptions>
</Query>
</query>
<viewFields>
<ViewFields xmlns=""> </ViewFields>
</viewFields>
<rowLimit>5000</rowLimit>
</GetListItems>
</soap12:Body>
</soap12:Envelope>
我没有在我的回复中获得关于人员类型字段的任何特别的额外信息 XML,只是已经在 SP 列表中的字段。
那么如何从人员类型字段中检索电子邮件等?正如我所说,我只是在获取他们的显示名称。
我自己解决了
对于所有感兴趣的人,这是正确的方法:
<queryOptions>
<QueryOptions>
<ExpandUserField>TRUE</ExpandUserField>
</QueryOptions>
</queryOptions>
加上它必须刚好低于 "GetListItems" 级别 - 因此与 "listName" 和 "query"
处于同一级别