LANG SELRCT

コードを書く場所

2020年1月31日金曜日

Salesforce APIでオブジェクトの基本情報を取得したい


サンプルコードを実行する
 の 「オブジェクトの基本情報を取得する」
をGASでやってみます。


事前準備

接続アプリケーションを作成して
アクセストークンなどのデータをスクリプトのプロパティに保存しておく

手順は以下のブログに書きました。

SalesforceでAPIを使うために接続アプリケーションを作成したい
Salesforceで接続アプリケーションを作成したい(Lightningの方で)



コード.gs
function getData() {
  var options = {
    "method" : "GET",
    "headers" : {
      "Authorization": "Bearer " + getProp("access_token")
    }
  }
  var url = getProp("instance_url") + "/services/data/v47.0/sobjects/Account/";// オブジェクトの基本情報を取得する
  var response = UrlFetchApp.fetch(url, options);
  Logger.log(response);
}

function getProp(key) {
  return PropertiesService.getScriptProperties().getProperty(key);
}


getData()を実行すると、以下のような結果が返ってきました。

実行結果
{
  "objectDescribe": {
    "activateable": false,
    "createable": true,
    "custom": false,
    "customSetting": false,
    "deepCloneable": false,
    "deletable": true,
    "deprecatedAndHidden": false,
    "feedEnabled": true,
    "hasSubtypes": false,
    "isInterface": false,
    "isSubtype": false,
    "keyPrefix": "001",
    "label": "取引先",
    "labelPlural": "取引先",
    "layoutable": true,
    "mergeable": true,
    "mruEnabled": true,
    "name": "Account",
    "queryable": true,
    "replicateable": true,
    "retrieveable": true,
    "searchable": true,
    "triggerable": true,
    "undeletable": true,
    "updateable": true,
    "urls": {
      "compactLayouts": "/services/data/v47.0/sobjects/Account/describe/compactLayouts",
      "rowTemplate": "/services/data/v47.0/sobjects/Account/{ID}",
      "approvalLayouts": "/services/data/v47.0/sobjects/Account/describe/approvalLayouts",
      "defaultValues": "/services/data/v47.0/sobjects/Account/defaultValues?recordTypeId&fields",
      "listviews": "/services/data/v47.0/sobjects/Account/listviews",
      "describe": "/services/data/v47.0/sobjects/Account/describe",
      "quickActions": "/services/data/v47.0/sobjects/Account/quickActions",
      "layouts": "/services/data/v47.0/sobjects/Account/describe/layouts",
      "sobject": "/services/data/v47.0/sobjects/Account"
    }
  },
  "recentItems": [{
    "attributes": {
      "type": "Account",
      "url": "/services/data/v47.0/sobjects/Account/0012w000004AAugAAG"
    },
    "Id": "0012w000004AAugAAG",
    "Name": "(サンプル)グローバル鋼機株式会社"
  }]
}


関連記事

SalesforceでAPIを使うために接続アプリケーションを作成したい
Salesforceで接続アプリケーションを作成したい(Lightningの方で)


参考

サンプルコードを実行する > オブジェクトの基本情報を取得する
https://developer.salesforce.com/docs/atlas.ja-jp.222.0.api_rest.meta/api_rest/quickstart_code.htm

最新の投稿

JIRAで複数の課題の変更履歴をシートに書き出したい(ステータス変更だけ)

JIRAで複数の課題の変更履歴をシートに書き出したい ではすべての変更履歴を取得しました。 今回はfieldが「status」の場合だけシートに書き出したい。 作成時のステータス取得について 今回は下記の方法で取得しています。 作成時の配列を以下の...