展开REST + CAML中的USER字段 [英] Expand USER field in REST + CAML

查看:97
本文介绍了展开REST + CAML中的USER字段的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

亲爱的专家,

Dear Experts,

我从名为CheckList的列表中获取多个项目。我只获取IsDeleted为false的项目。 

I am getting multiple items from a list called CheckList. I am getting only Items where IsDeleted is false. 

我在REST API ajax调用中使用CAML Query获取这些项目。但是,我正在获取作者ID /用户ID而不是作者标题和用户标题。我需要他们两个,我不想再打电话来获取作者/用户的详细信息。

I am getting these items using CAML Query in REST API ajax call. However, I am getting Author ID/ User ID instead of Author Title and User Title. I need them both and I don't want to have another call to get Author/User details.

以下是使用AJAX调用的CAML查询。我需要知道如何在CAML查询中扩展作者字段。 

The following is the CAML query with AJAX call. I need to know how to expand the Author field in CAML query. 

< View Scope ='RecursiveAll'>< Query> <其中><和><等式>< FieldRef名称= '用户'/><值类型= '整数' ><用户ID />< /值及GT;< /等式>< ;等式>< FieldRef名称= '请将isDeleted'/><值
输入= '布尔' 大于0< /值及GT;< /等式>< /和大于;< /何处>< ViewFields>< FieldRef名称= 'LinkTitle'/>< FieldRef名称= '核对清单'/>< FieldRef名称= 'CheckList_x003a_Title'/>< FieldRef名称= 'CheckList_x003a_Phase'/>< FieldRef
产品名称= 'CheckList_x003a_ID'/>< FieldRef名称= '用户'/>< FieldRef名称= 'ID'/>< FieldRef名称= '请将isDeleted'/>< / ViewFields>< ; /查询>< /查看>

<View Scope='RecursiveAll'><Query><Where><And><Eq><FieldRef Name='User' /><Value Type='Integer'><UserID /></Value></Eq><Eq><FieldRef Name='IsDeleted' /><Value Type='Boolean'>0</Value></Eq></And></Where><ViewFields><FieldRef Name='LinkTitle' /><FieldRef Name='CheckList' /><FieldRef Name='CheckList_x003a_Title' /><FieldRef Name='CheckList_x003a_Phase' /><FieldRef Name='CheckList_x003a_ID' /><FieldRef Name='User'/><FieldRef Name='ID' /><FieldRef Name='IsDeleted' /></ViewFields></Query></View>

var url = webUrl +" / _ api / web / lists / getbytitle('" + listTitle +"')/ getitems";

  &NBSP; &NBSP; &NBSP; var queryPayload = {

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; 'query':{

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; '__metadata':{'type':'SP.CamlQuery'},

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; 'ViewXml':viewXml



  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; }¥b $ b  &NBSP; &NBSP; &NBSP; }; b

  &NBSP; &NBSP; &NBSP;返回$ .ajax({

       url:url,

      方法:"POST",&
       data:JSON.stringify(queryPayload),

       标题:{

        " X-RequestDigest":$(" #__ REQUESTDIGEST")。val (),&
        " Accept":" application / json; odata = verbose",

        " content-type":" application / json; odata = verbose"

       }

    });

var url = webUrl + "/_api/web/lists/getbytitle('" + listTitle + "')/getitems";
        var queryPayload = {
            'query': {
                '__metadata': { 'type': 'SP.CamlQuery' },
                'ViewXml': viewXml

            }
        };

        return $.ajax({
            url: url,
            method: "POST",
            data: JSON.stringify(queryPayload),
            headers: {
                "X-RequestDigest": $("#__REQUESTDIGEST").val(),
                "Accept": "application/json; odata=verbose",
                "content-type": "application/json; odata=verbose"
            }
        });

在此先感谢,

Pavan Paruchuru。

Pavan Paruchuru.




推荐答案

扩展操作由于这个解释,它不能在CAML Query and Rest API / GETItems()端点中工作:

Expand operation won't work in CAML Query and Rest API /GETItems() endpoint due to this explanation:

OData

OData


expand not working - SharePoint REST API
expand not working – SharePoint REST API

解决方法是使用具有过滤条件而不是CAML查询的Rest API / items端点,并使用

A workaround is to use Rest API /items endpoint with filter condition instead of CAML Query and use


展开以获取用户标题:
http://sp/sites/jerrydev/_api/web/lists/getbytitle('TestList')/Items?


这篇关于展开REST + CAML中的USER字段的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆