SalesforceXyToolsCore/Python上でSalesforce組織のフォルダーを取得する
The original page link
SalesforceXyToolsCore/Python上でSalesforce組織のフォルダーを取得する
Topic
- SalesforceXyToolsCoreを使ってすべてのSalesforce組織のフォルダーを取得する
メールテンプレートのフォルダーを取得する
- Salesforce組織のユーザ名、パスワード、Apiバージョン、Product/Sandboxを設定してください。
from SalesforceXytoolsCore import * import pprint config = { "api_version": 42.0, "username": "sfdc username", "password": "sfdc password", "security_token": "", "is_sandbox": True } meta_api = MetadataApi(username=config["username"], password=config["password"], security_token=config["security_token"], sandbox=config["is_sandbox"], version=config["api_version"] ) """listFolder""" folders = meta_api.listFolder("EmailTemplate") pprint.pprint(folders)
結果確認
{'ApexClass': {'classes/A_Batch.cls': OrderedDict([('createdById', '005xxxxxxxxxxxxx'), ('createdByName', 'SFDC Exia'), ('createdDate', '2010-08-09T00:07:13.000Z'), ('fileName', 'classes/A_Batch.cls'), ('fullName', 'A_Batch'), ('id', '01pxxxxxxxxxxxxx'), ('lastModifiedById', '005xxxxxxxxxxxxx'), ('lastModifiedByName', 'SFDC Exia'), ('lastModifiedDate', '2010-08-09T00:24:29.000Z'), ('manageableState', 'unmanaged'), ('type', 'ApexClass')]), ................省略 'Report': { 'reports/Xy/MyID.report': OrderedDict([('createdById', '005xxxxxxxxxxxxx'), ('createdByName', 'SFDC Exia'), ('createdDate', '2010-09-15T00:29:36.000Z'), ('fileName', 'reports/Xy/MyID.report'), ('fullName', 'Xy/MyID'), ('id', '00OXXXXXXXXXXXXXX'), ('lastModifiedById', '005XXXXXXXXXXXXXX'), ('lastModifiedByName', 'SFDC Exia'), ('lastModifiedDate', '2010-09-25T00:03:33.000Z'), ('manageableState', 'unmanaged'), ('type', 'Report')]), ................省略 }
その以外のフォルダー
Salesforce には、現在次の 4 つのフォルダの種類があります。
- ドキュメントフォルダ
- メールフォルダ
- レポートフォルダ
- ダッシュボードフォルダ
Four folder types currently exist in Salesforce:
- Document folder
- Email folder
- Report folder
- Dashboard folder
取得方法:
"""Email folderの取得""" folders = meta_api.listFolder("EmailTemplate") """Document folderの取得""" folders = meta_api.listFolder("Document") """Report folderの取得""" folders = meta_api.listFolder("Report") """Dashboard folderの取得""" folders = meta_api.listFolder("Dashboard")