代码之家  ›  专栏  ›  技术社区  ›  R. Pacino

通过REST从SharePoint Web Services获取用户信息无效

  •  3
  • R. Pacino  · 技术社区  · 6 年前

    当前情况: 我正在使用SharePoint webservices调用从SharePoint列表中检索数据” GetListItems ".

    不幸的是我有 倍数 类型为Person的列。它们只显示此人的姓名,但我还想检索此人的电子邮件地址。

    我发现了这个:

    <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中person类型字段的任何特定额外信息,只是SP列表中已经存在的字段。

    那么,如何从person type字段中检索电子邮件等?正如我所说,我只是得到他们的显示名称。

    1 回复  |  直到 6 年前
        1
  •  2
  •   R. Pacino    6 年前

    我自己解决的。

    对于所有感兴趣的人来说,这是正确的方法:

    <queryOptions>
       <QueryOptions>
          <ExpandUserField>TRUE</ExpandUserField>
       </QueryOptions>
    </queryOptions>
    

    此外,它必须刚好低于“GetListItems”级别,因此与“listName”和“query”处于同一级别