Salesforce Reports and Dashboards REST API Developer Guide
List Recently Viewed Reports 最近表示したレポートの一覧を取得する
HTTP Methods : GET
{{_endpoint}}/services/data/v{{version}}/analytics/reports
レポートのIdを確認
最近表示したレポートの一覧
{{_endpoint}}/services/data/v{{version}}/analytics/reports
上記を新たに追加して送信すると、ちゃんと結果が返ってきました。レポートのIdも一致しています。
クエリ (Query)
HTTP Methods : POST
{{_endpoint}}/services/data/v{{version}}/analytics/reports/query
既存のレポートへの変更を保存したり、新しいレポートを作成したりせずに、レポート データを返します。
Postメソッドなのに、Bodyをしてないというエラーみたい。
[
{
"errorCode": "BAD_REQUEST",
"message": "The request is invalid because there is no metadata. Specify metadata in the request body."
}
]
Bodyでレポートを送信して、このレポートで表示されるレコードを返すみたい。思っていた機能とは違いました...
本当はある条件で一致するレポートのIdを取得したかったのですがね。
レポートフィールド (Report Fields)
HTTP Methods : POST
{{_endpoint}}/services/data/v{{version}}/analytics/reports/:reportID/fields
レポート フィールド リソースは、指定されたレポートで使用できるレポート フィールドを返します。このリソースを使用して、さまざまなソース レポートに共通するフィールドを確認することで、ダッシュボード フィルターで使用するのに最適なフィールドを決定します
Body
{
"intersectWith": ["00O5i00000BZzQBEA1"]
}
結果を取得できるのですが、どのような意味で表示されているかがよく分からないですね。レポートに共通するフィールドを確認するとあるけど、オブジェクトの全ての項目がただ表示されているだけで、1901行もあってみる気がしませんでした。本当に便利な機能なのかは理解できませんでした。
個人的にはこのSalesforceのReports and Dashboards REST API の中にレポートを消す処理があるので、ある条件でレポートのIdを取得してレポートが消せたらなぁと思っているのですが、レポートIdの検索はSQLで行った方が早いのですが、自動化できないですよね。