Hello Account (REST using cURL)

cURL で Hello Account。

$ curl -k -d grant_type=password -d client_id= -d client_secret= -d username= -d password= https://test.salesforce.com/services/oauth2/token -H 'X-PrettyPrint:1'

$ curl https://cs6.salesforce.com/services/data/v31.0/query?q=SELECT+Id+,+Name+FROM+Account -H 'Authorization: Bearer ' -H 'Content-Type: application/json' -H 'X-PrettyPrint:1'

Visualforce でレポート表示

analytics:reportChart コンポーネントを利用することで、既存のレポートを表示することができる。

cap1

<apex:page >
    <analytics:reportChart reportId="00OO0000000G1hd" />
    <analytics:reportChart reportId="00OO0000000G1hd" filter="{column:'STAGE_NAME', operator:'equals', value:'Closed Won'}" />
    <analytics:reportChart reportId="00OO0000000G1hd" filter="{column:'Opportunity.Text1__c', operator:'equals', value:'test'}" />
</apex:page>

reportId は、00OO0000000G1hd といったレポートの Salesforce ID。
filter で指定する column は API 名だが、カスタムフィールドの場合はオブジェクト名が Namespace のようになる。正確には Analytics API で確認できる。

Workbench の REST Explore で確認する:

Workbench にログインして、[utilities] | [REST Explore] で実行。

/services/data/v29.0/analytics/reports/00OO0000000G1hd/describe

cap2

Opportunity Information.columns… に標準フィールド
Opportunity: Custom Info.columns… にカスタムフィールド


Apex で確認する:

Reports.ReportDescribeResult rdr = Reports.ReportManager.describeReport('00OO0000000G1hd');
for (String columnStr : rdr.getReportMetadata().getDetailColumns()) {
  System.debug(columnStr);
}
09:45:41.433 (433238000)|USER_DEBUG|[3]|DEBUG|AMOUNT
09:45:41.433 (433290000)|USER_DEBUG|[3]|DEBUG|Opportunity.Number1__c
09:45:41.433 (433322000)|USER_DEBUG|[3]|DEBUG|Opportunity.Text1__c
09:45:41.433 (433353000)|USER_DEBUG|[3]|DEBUG|Opportunity.Formula1__c