3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Python & simple-salesforce を使って Salesforce のオブジェクト項目一覧・各属性情報を抽出する

Last updated at Posted at 2023-08-26

背景

生成 AI を活用して Salesforce をごにょごにょしようとした時に、オブジェクトの項目一覧・各属性情報をうまく使う必要が出てきました。抽出のやり方はいくつかあるのですが、出力結果をテキスト整形したかったこともあり、この目的のための使い用としてはあまり見かけない Python & simple-salesforce を使った例の記録です。

環境

  • Python 3.10.12 (Google Collaboratory)
  • simple-salesforce==1.12.4

試し方

以下は Google Colaboratory での操作手順を想定していますが、パソコンで直接実行でももちろん動きます。

1.simple-salesforce をインストール

まずは必要なライブラリをインストールしましょう。次をコードブロックに転記し実行します。

!pip install simple-salesforce

2.環境変数にユーザー名とパスワードを設定

続いて環境変数を設定します。次のコードを該当箇所を書き換えて、コードブロックに転記し実行します。

%env USERNAME=使用する Salesforce のユーザー名に書き換え
%env PASSWORD=↑のパスワードに書き換え

3.コードを実行

次をコードブロックに転記し実行します。

import os
import pprint
from simple_salesforce import Salesforce

# 環境変数から当該組織へアクセスできるユーザー名/パスワードを読み込み
USERNAME = os.environ['USERNAME']
PASSWORD = os.environ['PASSWORD']

# 接続実施
# Sandbox に接続する場合は引数に domain='test' を加える
sf = Salesforce(username=USERNAME, password=PASSWORD, security_token='')

# 特定オブジェクトの項目情報を取得
# 次は取引先(Account)の項目。Account を Contact や Opportunity に変えることで他のオブエクトの項目情報を取得できる
fields = sf.Account.describe()['fields']

# 項目名と型を出力
for field in fields:
    print(f'{field["name"]} {field["type"]}')

実行結果例

次のように 項目名 型 の一覧が表示されれば成功です。
colab-simple-salesforce.png

出力の仕方を変えることで、例えば次のような一覧形式にすることもできます。

Id id(18),
IsDeleted boolean,
MasterRecordId reference(18) to Account,
Name string(255),
LastName string(80),
FirstName string(40),
Salutation picklist(40),
Type picklist(255),
RecordTypeId reference(18) to RecordType,
ParentId reference(18) to Account,
BillingStreet textarea(255),
BillingCity string(40),
BillingState string(80),
BillingPostalCode string(20),
BillingCountry string(80),
〜以下略〜

あれに似てますよね。Salesforce のオブジェクトの項目構成をこのように表記する必要は基本的にはないのですが、これを使った検証については別記事で解説します。

以上、「Python & simple-salesforce を使って Salesforce のオブジェクト項目一覧・各属性情報を抽出する」でした。

3
1
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
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?