如何使用API​​检索任何salesforce对象的列表视图?

时间:2012-11-15 06:32:51

标签: api rest soap salesforce

我想通过API检索任何salesforce对象的所有列表视图。怎么做?

3 个答案:

答案 0 :(得分:4)

这是一个老问题,但是,使用REST API和Salesforce的查询语言,您可以使用端点:

{your instance url}/services/data/v32.0/query?q=SELECT Id,Name FROM {object type}

OR

使用端点:

{your instance url}/services/data/v32.0/sobjects/{object type}/listviews

一些例子:

获取所有列表视图:https://na16.salesforce.com/services/data/v32.0/query?q=SELECT Id,Name from ListView

获取包含帐户对象类型的所有列表视图:https://na16.salesforce.com/services/data/v32.0/sobjects/Account/listviews

在PHP中:

$url = "{your instance url}/services/data/v32.0/sobjects/Account/listviews";
$headers = array('Authorization: OAuth ' . {your access token});
$ch = curl_init ();  
curl_setopt ( $ch, CURLOPT_URL, $url );  
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, TRUE );  
curl_setopt ( $ch, CURLOPT_FOLLOWLOCATION, TRUE );  
curl_setopt ( $ch, CURLOPT_HTTPHEADER, $headers);  

$requestBody = curl_exec ($ch);
$result = json_decode($requestBody, true);

当然,您需要首先通过OAUTH登录才能获得访问令牌和实例URL。

答案 1 :(得分:1)

如果它是您正在寻找的SOAP api,则为所有组织数据称为describeSObject - 针对特定对象或“describeGlobal”。

有关SOAP消息,请参阅下面的参考链接: http://wiki.developerforce.com/page/Sample_SOAP_Messages_(10.0_API)

答案 2 :(得分:0)

为给定对象创建StandardSetController(您将用于实例化它的查询可以具有“LIMIT 1”或其他内容,无需选择所有记录)。然后使用getListViewOptions()

请记住,它会返回当前用户可见的视图(因此只有公开的视图+标记为“仅对我可见”的视图)。

修改 从外部访问它(通过SOAP或REST API)...... 我不知道用REST调用来获取这些方法的方法我很害怕。您可能必须编写一些Apex并公开将返回此数据的自定义REST资源。这并不难,请参阅http://www.salesforce.com/us/developer/docs/apexcode/index_Left.htm#StartTopic=Content/apex_rest_code_sample_basic.htm示例。