この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

ステップ 3: サンプルコードを説明する

Salesforce の異なる種別のリソースにアクセスするには、一連の REST 要求を実行します。これらの例を試す前に、このクイックスタートのステップ 1 で前提条件をすべて満たし、アクセストークンを取得していることを確認してください。

これらの例は、コピー/貼り付けして cURL で送信できます。ただし、先にベース URI の MyDomainName を Salesforce ドメインに置き換えてください。REST 要求の仕組みの詳細は、「REST リソースと要求」を参照してください。

Salesforce バージョンを取得する

使用可能な Salesforce バージョンのそれぞれに関する情報を取得するには、Versions 要求を送信します。この場合、要求に認証は必要ありません。

1curl https://MyDomainName.my.salesforce.com/services/data/

この要求の出力は、応答ヘッダーを含めて、すべての有効なバージョンを指定します。結果には複数の値が含まれる場合があります。

1Content-Length: 88 
2Content-Type: application/json; 
3charset=UTF-8 Server:
4[
5    {
6        "label":"Spring '11",
7        "url":"/services/data/v21.0",
8        "version":"21.0"
9    }
10    ...
11]

リソースのリストを取得する

Salesforce (この例ではバージョン 60.0) で使用可能なリソースのリストを取得するには、Resources by Version 要求を送信します。

1curl https://MyDomainName.my.salesforce.com/services/data/v60.0/ -H "Authorization: Bearer access_token"

この要求の出力は、sobjects が、Salesforce バージョン 60.0 で使用可能なリソースの 1 つであることを示します。

1{
2    "sobjects" : "/services/data/v60.0/sobjects",
3    "search" : "/services/data/v60.0/search",
4    "query" : "/services/data/v60.0/query",
5    "recent" : "/services/data/v60.0/recent"
6}

使用可能なオブジェクトのリストを取得する

使用可能なオブジェクトのリストを要求するには、Describe Global 要求を送信します。

1curl https://MyDomainName.my.salesforce.com/services/data/v60.0/sobjects/ -H "Authorization: Bearer access_token"

この要求の出力は、Account オブジェクトが使用可能であることを示します。

1Transfer-Encoding: chunked 
2Content-Type: application/json; 
3charset=UTF-8 Server:
4{
5 "encoding" : "UTF-8",
6 "maxBatchSize" : 200,
7 "sobjects" : [ {
8    "name" : "Account",
9    "label" : "Account",
10    "custom" : false,
11    "keyPrefix" : "001",
12    "updateable" : true,
13    "searchable" : true,
14    "labelPlural" : "Accounts",
15    "layoutable" : true,
16    "activateable" : false,
17    "urls" : { "sobject" : "/services/data/v60.0/sobjects/Account",
18    "describe" : "/services/data/v60.0/sobjects/Account/describe",
19    "rowTemplate" : "/services/data/v60.0/sobjects/Account/{ID}" },
20    "createable" : true,
21    "customSetting" : false,
22    "deletable" : true,
23    "deprecatedAndHidden" : false,
24    "feedEnabled" : false,
25    "mergeable" : true,
26    "queryable" : true,
27    "replicateable" : true,
28    "retrieveable" : true,
29    "undeletable" : true,
30    "triggerable" : true },
31   },
32...

オブジェクトの基本情報を取得する

使用可能な Account オブジェクトのメタデータの基本情報を取得するには、sObject Basic Information 要求を送信します。

1curl https://MyDomainName.my.salesforce.com/services/data/v60.0/sobjects/Account/ -H "Authorization: Bearer access_token"

この要求の出力は、名前や表示ラベルなどの Account オブジェクトの基本属性と、最近使用された取引先のリストを示します。

1{
2    "objectDescribe" : 
3    {  
4        "name" : "Account",  
5        "updateable" : true,  
6        "label" : "Account",  
7        "keyPrefix" : "001",  
8        
9        ...
10        
11        "replicateable" : true,  
12        "retrieveable" : true,  
13        "undeletable" : true,  
14        "triggerable" : true
15    },
16    "recentItems" : 
17    [ 
18        {  
19            "attributes" : 
20            {    
21                "type" : "Account",    
22                "url" : "/services/data/v60.0/sobjects/Account/001D000000INjVeIAL"  
23            },  
24            "Id" : "001D000000INjVeIAL",  
25            "Name" : "asdasdasd"
26        }, 
27
28        ...
29
30    ]
31}

項目のリストを取得する

詳細情報を取得するには、sObject Describe 要求を送信します。

1curl https://MyDomainName.my.salesforce.com/services/data/v60.0/sobjects/Account/describe/ -H "Authorization: Bearer access_token"

この要求の出力は、その項目の属性や子リレーションなど、Account オブジェクトのさらに詳細な情報を示します。

1{
2    "name" : "Account",
3    "fields" : 
4    [
5        {
6            "length" : 18,
7            "name" : "Id",
8            "type" : "id",
9            "defaultValue" : { "value" : null },
10            "updateable" : false,
11            "label" : "Account ID",
12            ...
13        },
14        ...
15    ],
16    "updateable" : true,
17    "label" : "Account",
18    ...
19    "urls" : 
20    {  
21        "uiEditTemplate" : "https://MyDomainName.my.salesforce.com/{ID}/e",  
22        "sobject" : "/services/data/v60.0/sobjects/Account",  
23        "uiDetailTemplate" : "https://MyDomainName.my.salesforce.com/{ID}",  
24        "describe" : "/services/data/v60.0/sobjects/Account/describe",  
25        "rowTemplate" : "/services/data/v60.0/sobjects/Account/{ID}",  
26        "uiNewRecord" : "https://MyDomainName.my.salesforce.com/001/e"
27    },
28    "childRelationships" : 
29    [ 
30        {  
31            "field" : "ParentId",  
32            "deprecatedAndHidden" : false,  
33            ...
34        }, 
35        ...
36    ],
37     
38    "createable" : true,
39    "customSetting" : false,
40    ...
41}

SOQL クエリを実行する

Account の name のすべての値を取得する SOQL クエリを実行するには、Query 要求を送信します。

1curl https://MyDomainName.my.salesforce.com/services/data/v60.0/query?q=SELECT+name+from+Account -H "Authorization: Bearer access_token"

出力で、使用可能な取引先名がリストされます。それぞれの名前の前にある属性には取引先の ID が含まれます。

1{
2    "done" : true,
3    "totalSize" : 14,
4    "records" :
5    [
6        {
7            "attributes" :
8            {
9                "type" : "Account",
10                "url" : "/services/data/v60.0/sobjects/Account/001D000000IRFmaIAH"
11            },
12            "Name" : "Test 1"
13        },
14        {
15            "attributes" :
16            {
17                "type" : "Account",
18                "url" : "/services/data/v60.0/sobjects/Account/001D000000IomazIAB"
19            },
20            "Name" : "Test 2"
21        },
22        ...
23    ]
24}

SOQL についての詳細は、『SOQL および SOSL リファレンス』を参照してください。

メモ

レコードの項目を更新する

取引先の 1 つを取得し、市区郡 (請求先) を更新するには、sObject Rows 要求を送信します。オブジェクトを更新するには、新しい市区郡 (請求先) の情報を含む patchaccount.json というテキストファイルを作成します。

1{
2    "BillingCity" : "Fremont"
3}

REST 要求に、この JSON ファイルを指定します。cURL 表記には、データを指定する場合、—d オプションが必要です。詳細は、http://curl.haxx.se/docs/manpage.html を参照してください。

また、REST リソースを更新するために使用する PATCH メソッドを指定します。次の cURL コマンドは、ID 項目を使用して指定された Account オブジェクトを取得し、その市区郡 (請求先) を更新します。

1curl https://MyDomainName.my.salesforce.com/services/data/v60.0/sobjects/Account/001D000000IroHJ -H "Authorization: Bearer access_token" -H "Content-Type: application/json" --data-binary @patchaccount.json -X PATCH

レスポンスボディはなく、ヘッダーのみが返されます。

1HTTP/1.1 204 No Content
2Server: 
3Content-Length: 0

請求先が Fremont に変更さ���たことを確認するには、取引先のページを更新します。