ステップ 3: cURL で HTTP 要求を送信する
Force.com REST API を操作するには、HTTP 要求を構築するようにクライアントアプリケーションを設定する必要があります (cURL を使用します)。
クライアントアプリケーションの設定
REST API は、HTTP GET および HTTP POST メソッドを使用して、JSON と XML コンテンツを送信および取得するため、好みのツールまたは言語を使って簡単にクライアントアプリケーションを構築できます。HTTP 要求と応答の送受信を単純化するために、cURL というコマンドラインツールを使用します。
cURL は、多くの Linux システムや Mac システムにあらかじめインストールされています。Windows バージョンは、curl.haxx.se/ からダウンロードできます。Windows で HTTPS を使用する場合、システムが SSL の cURL 要件を満たしていることを確認してください。
REST API リソースを使った HTTP 要求の送信
REST API リソースへの HTTP 要求には、次の情報が含まれている必要があります。
- HTTP メソッド (HEAD、GET、POST、PATCH、または DELETE)。
- 要求の認証に使用される OAuth 2.0 アクセストークン。トークンの取得方法については、「クイックスタート」を参照してください。
- リソースの形式 (XML または JSON)、または URI の .json または .xml 拡張子を示すために使用する HTTP ACCEPT ヘッダー。デフォルトは JSON です。
- Force.com REST リソース。
- 新しい情報でレコードを更新するなどの要求に必要な情報が含まれる JSON ファイルまたは XML ファイル。
HTTP メソッドは、情報の取得や、レコードの作成、更新、削除など、目的のアクションを示すために使用されます。
- HEAD は、リソースメタデータの取得に使用されます。
- GET は、リソースに関する基本的なサマリー情報など、情報の取得に使用されます。
- POST は、新しいオブジェクトを作成するために使用されます。
- PATCH は、レコードを更新するために使用されます。
- DELETE は、レコードを削除するために使用されます。
リソースにアクセスするには、ヘッダー、メソッド、リソース名を含む HTTP 要求を送信します。
たとえば、newaccount.json という JSON 形式のファイルを使用して、Account レコードを作成するとします。これには、新しい Account レコードに保存される情報が含まれます。
1{
2 "Name" : "test"
3}na1 に cURL を使用すると、要求は、次のようになります。
1curl https://na1.salesforce.com/services/data/v20.0/sobjects/Account/ -H "Authorization: Bearer token -H "Content-Type: application/json" -d "@newaccount.json"HTTP 要求ヘッダーは次のようになります。
1POST /services/data/v20.0/sobjects/Account HTTP/1.1
2User-Agent: curl/7.19.7 (universal-apple-darwin10.0) libcurl/7.19.7 OpenSSL/0.9.8l zlib/1.2.3
3Host: na7.salesforce.com
4Accept: */*
5Content-Length: 1411
6Content-Type: application/json
7Authorization: Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
8X-PrettyPrint:1応答は次のようになります。
1Date: Thu, 21 Oct 2010 22:16:22 GMT
2Content-Length: 71
3Location: /services/data/v20.0/sobjects/Account/001T000000NU96UIAT
4Content-Type: application/json; charset=UTF-8 Server:
5{ "id" : "001T000000NU96UIAT",
6 "errors" : [ ],
7 "success" : true }リソースおよび対応する URI のリストについては、「リファレンス」を参照してください。