LoginSignup
2
0

PostmanからSalesforce Reports and Dashboards REST API を呼び出してレポートの複製をつくる

Last updated at Posted at 2023-12-14

レポートの複製を簡単に作りたいという質問があります。

以前に大量のレポートを簡単に消したいとの質問があって、curlコマンドからSalesforce Reports and Dashboards REST APIを呼び出して対応することを試したことがあります。

Salesforce Reports and Dashboards REST API

やり方が分かってしまえば、難しくはないのですがかなり試行錯誤しましたね。今回はPostmanを使って対応してみたいと思います。

初めてPostmanを使ってSalesforceのAPIを操作する場合の設定

以下のモジュールを参考にして設定します

Quick Start: Connect Postman to Salesforce

  1. Salesforce でクロスオリジンリソース共有を設定する

以下のように設定します
image.png

2. Postman アカウントにサインインするか、アカウントにサインアップします。
3. Workspacesメニューを選択します。
4. Create Workspace を選択します。

image.png

5. ワークスペースに SalesforceCollection という名前を付けます。

6. Nextをクリックして進みます

image.png

7. 可視性をPersonalに設定します。
image.png

8. Create Workspaceをクリックします。

9. Salesforce コレクションをフォークします。public Salesforce Developers workspace を開いて、Salesforce API コレクションのフォークを作成します(リンクをクリック)。

image.png

10. Collectionsで、Salesforce Platform API を選択して展開します。

11. Create Forkをクリックして、コレクションのフォークを作成します。

image.png

12. 「MySalesforceAPIFork」と入力します。
13. SalesforceCollection をワークスペースとして保持します。

image.png

14. Fork Collectionをクリックします

15. Salesforceの組織に認証して接続します。

  • ブラウザで 1 つの 組織にのみログインしていることを確認してください。
  • Postman の コレクション で、SSalesforce Platform APIsを選択する必要があります。
  • No Environment が選択されていることを確認してください。
  • Authorizationタブが開いているはずです。
  • タイプは OAuth 2.0 である必要があります。

image.png

16. Get New Access Tokenをクリックします。下の方にあるのでスクロールしてください。

image.png

17. instance_url が Trailhead Playground を指していることを確認します。これをコピーします。重要です。
もしかしたら、lightning.force.comがmy.salesforce.comになっているかもしれませんが、このURLを使います。

18. Use Tokenをクリックします。

image.png

19. Variables タブをクリック

image.png

_endpoint 行の CURRENT VALUE 列に、手順 17 でコピーした instance_url 値を貼り付けます。

入力箇所がよく分からん。 先頭にカーソルをもっていく

image.png

20. Saveボタンをクリックします。

どこにある? 色が薄くて探しにくい。
image.png

何か変更した時だけ機能するようです。

image.png

これで設定は終了です。念のため以下のようにして接続できるかを確かめます。

接続できたかの確認

  1. コレクション で、Salesforce Platform API を選択して展開します。
  2. RESTを選んで展開します。
  3. GET Limitsを選択します。メイン パネルで Limits が開きます

image.png

4. sendをクリックします。

image.png

無事接続できているとこのような応答が返ってきます。

image.png

Clone Reportsを使います。

Clone Reports

cloneIdに複製したいレポートのIdを指定してPostメソッドで送信すればいいみたいです。

/services/data/v34.0/analytics/reports?cloneId=00OD0000001cxIE

Postなので、Bodyに以下のように新しいレポート名を指定すればよさそうです。

{ "reportMetadata" :
   {"name":"myNewReport"}
}

Limitsタブの横の+をクリックしてタブを作ります。

image.png

以下のように入力してPOSTメソッドを選択します。

{{_endpoint}}/services/data/v{{version}}/analytics/reports?cloneId=

image.png

パラメータに複製したいレポートのIdを入力します。

image.png

下記のようにBodyを入力します。

image.png

送信する前に保存しておきます。

image.png

保存できたら、送信ボタンをクリックします。

このような応答があれば成功です。

image.png

image.png

Salesforceの画面からも確認してみましょう。ちゃんと新しいレポートが複製されています。

image.png

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0