Java 開発者環境の設定 - Salesforce.com

JAVA 開発者環境の設定
サマリー
このヒント集では、
Salesforce と統合するため
のローカル開発者環境を設
定する方法について説明し
ます。
このヒント集には、Salesforce API (SOAP API や REST API など) の使用を開始するためのロー
カル環境を設定する方法が記載されています。
メモ: Apex、およびカスタムメタデータ API コンポーネントを使用した Salesforce
アプリケーション開発用ローカル環境を設定する場合は、Force.com IDE を参照し
てください。
このヒント集では、ローカル開発システムのセットアップに必要なツールおよび設定
に重点を置いて説明します。このヒント集では、「APIの有効化」権限があるSalesforce
組織がすでに機能していることを前提としています。Developer Edition、Enterprise Edition、
Unlimited Edition、Performance Edition 組織では、デフォルトで API が有効になっています。
まだ Force.com 開発者コミュニティのメンバーでない場合、
developer.salesforce.com/signup にアクセスし、Developer Edition 組織のサイン
アップの説明に従ってください。すでに Enterprise Edition、Unlimited Edition、または
Performance Edition を所有している場合でも、組織の使用中のデータを保護するために、
サンプルデータに対するソリューションの開発、ステージングおよびテストには
Developer Edition を使用します。これは、特に、(データをただ参照するだけのアプリ
ケーションに対し) データを挿入、更新または削除するアプリケーションの場合に該
当します。
Salesforce 組織があれば開発に使用できますが、開発およびテスト用の Sandbox を設定
する必要があります。Developer Sandbox の作成手順は、『Application Lifecycle Guide』(アプ
リケーションライフサイクルガイド) の「開発環境」を参照してください。
Java のインストール
Salesforce API を使用するには、Java 開発者キット (JDK) バージョン 5.0 以降を使用する必
要があります。Java は、広く使用されている堅牢なクロスプラットフォーム言語で、
Salesforce とうまく統合します。
JDK をインストールするには、インターネットに接続された Windows、Mac OS X または
Linux システムが必要です。システムによっては、JDK をインストールするのにシステ
ム管理者レベルのアクセス権も必要になる場合があります。
メモ: すでに JDK がインストールされている場合、「JDK インストールの確認」
に記載されている手順を実行して、Java のバージョンを確認してください。Mac
OS X および Linux のほとんどのバージョンには、特定のバージョンの JDK があら
かじめインストールされています。
JDK は、Java アプリケーションを作成するのに必要な開発キットです。JDK には、Java
アプリケーションを実行するのに必要な Java ランタイム環境 (JRE) が含まれています。
最終更新日: 2015/11/3
Java 開発者環境の設定
Eclipse のインストール
1. ローカルシステムのブラウザで
http://www.oracle.com/technetwork/java/javase/downloads/index.html に移動します。使用し
ているオペレーティングシステム用の JDK の最新バージョンをダウンロードしま
す。JRE ではなく JDK をダウンロードしていることを確認します。
2. Windows の場合、インストーラ実行可能ファイルをダブルクリックし、手順に従っ
て JDK と付属の JRE をローカルマシンにインストールします。Mac OS X の場合、.dmg
ファイルを開いてインストーラパッケージをダブルクリックします。Linux の場
合、.rpm ファイルをダウンロードした場合、コマンドプロンプトウィンドウで
「rpm —ivh JDK インストール RPM ファイル」と入力します。.tar ファイルをダ
ウンロードした場合、tar アーカイブから任意の場所にファイルを抽出します。
3. JDK 実行可能ファイルをパスに追加します。
a. Windows の場合、[スタート] > [コントロール パネル] > [システムとセキュリ
ティ] > [システム] > [詳細設定] をクリックします。[環境変数] をクリックし、
システム変数の PATH 変数を見つけます。JDK インストールパスの bin フォル
ダの場所をパス値の最後に追加します。パス
は、%SystemRoot%\system32;%SystemRoot%;C:\Program
Files\Java\jdk1.7.0_15\bin のようになります。変更内容を適用するに
は、[OK] をクリックします。
b. Mac OS X または Linux の場合、$PATH 環境変数を更新する必要があります。Mac
OS X の場合、java_home コマンドを使用して Java パスを設定することもでき
ます。
JDK インストールの確認
JDK インストールを確認するには、コマンドプロンプトウィンドウで java —version
と入力します。次のようになります。
java version "1.7.0_15"
Java(TM) SE Runtime Environment (build 1.7.0_15-b03)
Java HotSpot(TM) 64-Bit Server VM (build 23.7-b01, mixed mode)
コマンドプロンプトウィンドウで javac —version と入力して、Java コンパイラが
適切にインストールされているかどうかを確認することもできます。出力は次のよう
になります。
javac 1.7.0_15
java または javac が不明な実行可能ファイルであることを示すエラーが発生した場合、
インストールが失敗しているか、ステップ 3 で説明されているようにパス環境を設定
していない可能性があります。
Eclipse のインストール
Eclipse は、Java 開発の統合開発環境 (IDE) です。
Eclipse では、実行する Java ランタイム環境が必要です。
2
Java 開発者環境の設定
使用する API に基づくパスの選択
Eclipse は、Salesforce のインテグレーションアプリケーションの開発には必要ありませ
んが、Salesforce と連携する、使いやすい IDE が必要な場合は Eclipse をインストールし
てください。
1. ブラウザで http://www.eclipse.org/downloads に移動します。「Eclipse IDE for Java
Developers」をダウンロードします。インストールした JDK のバージョンに応じて、
32 ビットバージョンまたは 64 ビットバージョンのいずれかを選択します。
2. ダウンロードしたファイルを任意の場所に解凍します。Eclipse には、特殊なイン
ストールアプリケーションはありません。
3. 解凍した eclipse フォルダの Eclipse 実行可能ファイルを起動します。これは、
eclipse.exe (Windows の場合)、Eclipse.app (Mac OS X の場合)、および eclipse
(Linux の場合) になります。新しい eclipse ワークスペースの場所の指定を求められ
ます。[OK] をクリックして、デフォルトのワークスペースの場所を使用します。
4. お知らせページのウィンドウを閉じてお知らせページを終了します。これで Eclipse
ワークベンチが表示され、新しい Java ベースの Salesforce インテグレーションプロ
ジェクトを作成する準備が整いました。
使用する API に基づくパスの選択
開発環境を設定する次の手順は、使用する Salesforce API によって異なります。
SOAP API、CRUD ベースのメタデータ API、またはその他の WSDL ベースの Salesforce API
を使用するには、次のタスクの手順を実行します。
• Web Services Connector のインストール (WSDLベースの API) (ページ 4)
• Developer WSDL ファイルのダウンロード (WSDL ベースの API) (ページ 4)
• Java スタブファイルの生成 (WSDLベースの API) (ページ 5)
• WSDL 環境の確認 (WSDL ベースの API) (ページ 5)
REST API、Bulk API、Chatter API、またはその他の REST ベースの Salesforce API を使用するに
は、次のタスクの手順を実行します。
• HttpClient および JSON フレームワークのインストール (REST ベースの API) (ページ 7)
• 接続アプリケーションへのアクセスの設定 (REST ベースの API) (ページ 7)
• REST 環境の確認 (REST ベースの API) (ページ 10)
Tooling API には、SOAP および REST ベースのインターフェースが用意されており、必要
に応じて上記のパスのいずれかを使用して環境を設定できます。
ストリーミング APIでは、プッシュ技術をサポートするために追加の Java フレームワー
クをインストールする必要があります。『Force.com ストリーミング API 開発者ガイド』
の「例: Java クライアント」を参照してください。
3
Java 開発者環境の設定
Web Services Connector のインストール (WSDLベースの
API)
Web Services Connector のインストール (WSDLベース
の API)
Force.com Web Services Connector (WSC) は、WSDL ベースの Salesforce API を使いやすくする
高パフォーマンスランタイムフレームワークです。
WSC フレームワークを使用するには、Java JDK のインストールが機能している必要が
あります。
1. ブラウザで http://mvnrepository.com/artifact/com.force.api/force-wsc に移動し、使用して
いる Salesforce の API バージョンと一致する、組み込みの WSC .jar ファイルをダウン
ロードします。使用している API バージョンと連携する、組み込みの WSC バージョ
ンが見つからない場合、ソースから .jar ファイルを作成できます。
https://github.com/forcedotcom/wsc に移動し、「Building WSC」の手順を実行してくだ
さい。
2. WSC .jar ファイルを任意の場所に保存します。これを使用して、Salesforce 組織から
WSDL のスタブファイルを生成します。
3. 使用している WSC のバージョンによっては、追加のフレームワークもダウンロー
ドする必要があります。次のフレームワークをダウンロードし、フレームワーク
の .jar ファイルを抽出して任意の場所にコピーします。
• Rhino JavaScript フレームワーク
(https://developer.mozilla.org/en-US/docs/Rhino/Download_Rhino から入手可能)
• StringTemplate エンジンフレームワーク (http://www.stringtemplate.org/download.html
から入手可能)
Developer WSDL ファイルのダウンロード (WSDL ベー
スの API)
Salesforce Web サービス定義言語 (WSDL) ファイルでは、API をコールするために開発者
環境で使用する API の詳細が提供されます。
Salesforce 組織から直接 WSDL ファイルをダウンロードする手順は、次のとおりです。
1. ブラウザで Salesforce Developer Edition 組織にログインします。
2. [設定] から、[クイック検索] ボックスに「API」と入力し、[API] を選択します。
3. 使用する API に適した WSDL ファイルをダウンロードします。
a. SOAP API を使用する場合、Enterprise または Partner WSDL が必要です。ダウンロー
ドする WSDL を判断する方法は、『SOAP API 開発者ガイド』の「WSDL の選択」
を参照してください。
b. メタデータ API を使用する場合、Metadata WSDL が必要です。ログインして
Salesforce で認証するには、Enterprise または Partner WSDL も必要です。
c. Tooling API を使用する場合、Tooling WSDL が必要です。ログインして Salesforce で
認証するには、Enterprise または Partner WSDL も必要です。
4
Java 開発者環境の設定
Java スタブファイルの生成 (WSDLベースの API)
Java スタブファイルの生成 (WSDLベースの API)
WSDL ベースの Salesforce API と Java を併用するには、Java プロジェクトで使用できる .jar
スタブファイルを生成する必要があります。
スタブファイルを生成するには、WSC .jar ファイルが必要です。使用する予定の API に
適した WSDL ファイルをダウンロードする必要もあります。
1. コマンドプロンプトウィンドウを開き、WSDL および WSC .jar ファイルがある場所
に移動します。
2. コマンドプロンプトウィンドウで java –classpath WSC JAR のパス/WSC JAR
ファイル名 com.sforce.ws.tools.wsdlc WSDL のパス/WSDL ファイル名 出力
スタブ JAR のパスおよびファイル名 コマンドを使用して、WSDL の Java スタブを
生成します。場合によっては、WSC で必要な追加の .jar ファイル (Rhino や StringTemplate
など) をセミコロン (Windows の場合) またはコロン (Mac/Linux の場合) 区切りで
classpath リストに含める必要もあります。Rhino および StringTemplate について
の詳細は、「Web Services Connector のインストール (WSDLベースの API)」を参照して
ください。
次に、API バージョン 29.0 WSC および Enterprise WSDL を使用して、スタブ .jar ファイル
「enterprise_stub.jar」を生成するための Windows コマンドの例を示します。
java -classpath \testWorkspace\wsc\force-wsc-29.0.0.jar;
\testWorkspace\rhino1_7R4\js.jar;
\testWorkspace\stringTemplate\ST-4.0.7.jar;
\jdk\jdk1.7.0_17\lib\tools.jar
com.sforce.ws.tools.wsdlc
\testWorkspace\wsdl\enterprise.wsdl
\testWorkspace\stub\enterprise_stub.jar
この例の classpath には、Rhino および StringTemplate の連動 .jar ファイルが含まれて
います。
WSDL 環境の確認 (WSDL ベースの API)
Eclipse で簡単な Java テストアプリケーションを使用して開発者環境を検証できます。
JDK、Eclipse、および WSC がインストールされていて、使用する WSDL ファイルの Java
スタブ .jar ファイルが生成されている必要があります。検証手順を実行するには、
Enterprise または Partner WSDL のスタブ .jar ファイルが必要です。
1. Eclipse を実行します。[File (ファイル)] > [New (新規)] > [Java Project (Java プロジェク
ト)] をクリックして、プロジェクトに SF-WSC-Test という名前を付けます。
2. WSC およびスタブ .jar ファイルをプロジェクトに追加します。[Project (プロジェク
ト)] > [Properties (プロパティ)] > [Java Build Path (Java 作成パス)] > [Libraries (ライブ
ラリ)] をクリックして [Add External JARs (外部 JAR を追加)] をクリックし、WSC およ
びスタブ .jar ファイルを選択して [OK] をクリックします。
5
Java 開発者環境の設定
WSDL 環境の確認 (WSDL ベースの API)
3. 新しいフォルダを src フォルダに追加します。これを行うには、src を右クリッ
クして、[New (新規)] > [Folder (フォルダ)] を選択し、フォルダ名として wsc を使用
します。
4. 新しいクラスを作成します。これを行うには wsc を右クリックして、[New (新規)] >
[Class (クラス)] を選択します。クラスに Main という名前を付けます。
5. Eclipse で生成される Main.java のコードを次のセクションで説明されているよう
に置き換えます。
Main.java クラスの次の簡単なログインコード例を使用します。YOUR DEVORG USERNAME
を Developer Edition 組織のユーザ名で置き換え、YOUR DEVORG PASSWORD AND
SECURITY TOKEN を Developer Edition 組織のパスワードとセキュリティトークンで置
き換えます。組織でセキュリティトークンを設定していない場合、パスワードのみを
入力します。このコードの GitHub Gist は、
https://gist.github.com/anonymous/78864d2c4ccfe4e983ef で入手できます。
package wsc;
import
import
import
import
com.sforce.soap.enterprise.Connector;
com.sforce.soap.enterprise.EnterpriseConnection;
com.sforce.ws.ConnectionException;
com.sforce.ws.ConnectorConfig;
public class Main {
static final String USERNAME = "YOUR DEVORG USERNAME";
static final String PASSWORD = "YOUR DEVORG PASSWORD AND SECURITY
TOKEN";
static EnterpriseConnection connection;
public static void main(String[] args) {
ConnectorConfig config = new ConnectorConfig();
config.setUsername(USERNAME);
config.setPassword(PASSWORD);
try {
connection = Connector.newConnection(config);
// display some current settings
System.out.println("Auth EndPoint:
"+config.getAuthEndpoint());
System.out.println("Service EndPoint:
"+config.getServiceEndpoint());
System.out.println("Username: "+config.getUsername());
System.out.println("SessionId: "+config.getSessionId());
} catch (ConnectionException e1) {
e1.printStackTrace();
}
}
}
6
Java 開発者環境の設定
HttpClient および JSON フレームワークのインストール
(REST ベースの API)
次の出力は、このコードの実行の一般的な成功例です。
Auth EndPoint: https://login.salesforce.com/services/Soap/c/27.0
Service EndPoint:
https://na1.salesforce.com/services/Soap/c/27.0/00DU0000000L5f0
Username: [email protected]
SessionId: 00DU0000000Q5f0!ARoAQDjpkH.NReBp_vBLZ124aDbgYM_v7so9ciUu
検証用の Java プロジェクトを実行して、組織に一致する出力が表示された場合、開発
者環境が設定されており、Salesforce と統合する Java アプリケーションの開発を開始で
きます。
HttpClient および JSON フレームワークのインストー
ル (REST ベースの API)
REST リソースにアクセスするには、HttpClient および JSON フレームワークをインストー
ルする必要があります。HttpClient を使用すると、HTTP リソースにアクセスできます。
JSON フレームワークを使用すると、JSON 要求や応答データを生成および解析できま
す。
HttpClient および JSON フレームワークを使用するには、ローカルシステムに JDK をイン
ストールする必要があります。
1. ブラウザで http://hc.apache.org/downloads.cgi に移動し、最新の「GA」バージョンの
HttpClient のバイナリアーカイブをダウンロードします。ダウンロードしたファイ
ルを解凍し、ディレクトリを任意の場所に移動します。
2. ブラウザで http://mvnrepository.com/artifact/org.json/json に移動し、最新のバイナリ .jar
ファイルをダウンロードします。この .jar ファイルを任意の場所にコピーします。
接続アプリケーションへのアクセスの設定 (REST ベー
スの API)
Salesforce REST API では、OAuth 認証が使用されるため、接続アプリケーションを作成し
て、アプリケーションと Salesforce を統合する必要があります。
接続アプリケーションは、APIを使用してSalesforceと統合します。接続アプリケーショ
ンでは、標準の SAML および OAuth プロトコルを使用して認証して、シングルサイン
オンを提供し、SalesforceAPIを使用してトークンを提供します。標準の OAuth 機能に加
え、接続アプリケーションでは、システム管理者はさまざまなセキュリティポリシー
を設定したり、対応するアプリケーションを使用できるユーザを明示的に制御したり
できます。
接続アプリケーションを作成する手順は、次のとおりです。
1. [設定] から、[クイック検索] ボックスに「アプリケーション」と入力し、[アプリ
ケーション] を選択します。
2. [接続アプリケーション] セクションで、[新規] をクリックします。
次に、アプリケーションに関する基本情報を指定します。
7
Java 開発者環境の設定
接続アプリケーションへのアクセスの設定 (REST ベース
の API)
1. [接続アプリケーション名] を入力します。この名前が接続アプリケーションのリ
ストに表示されます。
メモ: 現在の接続アプリケーションの名前は、組織内で一意にする必要があ
ります。接続アプリケーションが Spring '14 以降のリリースを使用して作成さ
れた場合は、削除済み接続アプリケーションの名前を再使用できるようにな
りました。接続アプリケーションが Spring '14 より前のリリースを使用して作
成された場合は、削除済み接続アプリケーションの名前は再使用できません。
2. プログラムからアプリケーションを参照するときに使用する [API 参照名] を入
力します。API 参照名は、デフォルトの空白を除いた名前になります。使用できる
のは、文字、数字、アンダースコアのみであるため、元のアプリケーション名に
他の記号などが含まれている場合は、デフォルトの名前を編集する必要がありま
す。
3. Salesforce からアプリケーション提供者またはそのサポートチームへの連絡に使用
する [取引先責任者 メール] を入力します。このアドレスは、アプリケーション
をインストールするシステム管理者には提供されません。
4. Salesforce から連絡する必要がある場合に使用する [取引先責任者 電話] を入力し
ます。この番号は、アプリケーションをインストールするシステム管理者には提
供されません。
5. 接続アプリケーションのリストや、認証時にユーザに表示される同意ページにロ
ゴを表示するには、[ロゴ画像 URL] を入力します。URL には HTTPS を使用する必
要があります。ロゴは、高さ 125 ピクセル以下、幅 200 ピクセル以下、ファイルサ
イズ 100 KB 以下の GIF、JPG、または PNG ファイル形式にする必要があります。デ
フォルトは雲のロゴです。カスタムロゴを追加するには複数の方法があります。
• [ロゴ画像をアップロード] をクリックして、独自のロゴ画像をアップロードで
きます。ローカルファイルシステムからロゴのサイズ要件を満たす画像を選択
します。アップロードが成功すると、ロゴへの URL が [ロゴ画像 URL] 項目に
表示されます。表示されない場合は、ロゴのサイズ要件を満たしていることを
確認します。
• [いずれかのサンプルロゴを選択] をクリックして、提供されているサンプルか
らロゴを選択することもできます。Salesforce アプリケーション、サードパー
ティアプリケーション、標準化団体のロゴなどを使用できます。目的のロゴを
クリックし、表示される URL をコピーして [ロゴ画像 URL] 項目に貼り付けま
す。
• Salesforceサーバで公開されてホストされるロゴを使用できます。これを行うに
は、[ドキュメント] タブを使用して、ロゴファイル要件 (高さ 125 ピクセル以
下、幅 200 ピクセル以下、ファイルサイズ 100 KB 以下 の GIF、JPG、または PNG
ファイル形式) を満たす画像をドキュメントとしてアップロードします。次に、
画像を表示して URL を取得し、その URL を [ロゴ画像 URL] 項目に入力します。
6. ユーザがアプリケーションを初めて使用するときに表示される OAuth 承認ページ
にロゴを表示するには、[アイコン URL] を入力します。ロゴは、16×16 ピクセル
(高さ×幅) で、背景色は白にします。サンプルロゴはアイコンにも使用できます。
8
Java 開発者環境の設定
接続アプリケーションへのアクセスの設定 (REST ベース
の API)
[いずれかのサンプルロゴを選択] をクリックして、提供されているサンプルから
アイコンを選択できます。目的のアイコンをクリックし、表示される URL をコピー
して [アイコン URL] 項目に貼り付けます。
7. アプリケーションについての詳細が記載された Web ページがある場合、[情報
URL] を入力します。
8. 接続アプリケーションのリストに表示される [説明] を入力します。
次に OAuth を設定します。これを行うには、[OAuth 設定の有効化] を選択して、次の
情報を指定します。
1. Salesforce が OAuth 時にアプリケーションにコールバックする [コールバック URL]
(エンドポイント) を入力します。これは、OAuth redirect_uri です。使用する
OAuth フローに応じて、これは通常、認証が成功した後にユーザのブラウザがリダ
イレクトされる URL になります。この URL は一部の OAuth フローでアクセストーク
ンを渡すために使用されるため、URL はセキュア HTTP (HTTPS) またはカスタム URI ス
キームを使用する必要があります。複数のコールバック URL を入力すると、[コー
ルバック URL] のいずれかの値を使用してアプリケーションで指定されたコール
バック URL の値が、Salesforce により実行時に照合されます。検証テストに通過す
るには、いずれか 1 つの値と一致する必要があります。
2. JWT OAuth フローを使用している場合は、[デジタル署名を使用] を選択します。ア
プリケーションが証明書を使用する場合は、[ファイルを選択] をクリックして、
証明書のファイルを選択します。
3. サポートされているすべての OAuth 範囲を [選択した OAuth 範囲] に追加しま
す。これらの範囲は、接続アプリケーションを実行するユーザによって付与され
る権限を示し、その後に続く括弧内には OAuth トークン名が表示されます。
Chatter フィードへのアクセスと管理 (chatter_api)
Chatter REST API リソースへのアクセスのみを許可します。
データへのアクセスと管理 (api)
REST API や Bulk API などの API を使用したログインユーザの取引先へのアクセス
を許可します。この値には、Chatter REST API リソースへのアクセスを許可する
chatter_api も含まれます。
基本情報へのアクセス (id、profile、email、address、phone)
ID URL サービスへのアクセスを許可します。
カスタム権限へのアクセス (custom_permissions)
接続アプリケーションに関連付けられている組織のカスタム権限へのアクセス
を許可し、現在のユーザで各権限が有効かどうかを示します。
一意の識別子へのアクセスを許可 (openid)
ログインユーザの OpenID Connect アプリケーションの一意の識別子へのアクセ
スを許可します。
フルアクセス (full)
ログインユーザがアクセスできるすべてのデータへのアクセスを許可し、その
他すべての範囲が対象となるようにします。full は更新トークンを返しませ
9
Java 開発者環境の設定
REST 環境の確認 (REST ベースの API)
ん。更新トークンを取得するには、refresh_token の範囲を明示的に要求す
る必要があります。
ユーザに代わっていつでも要求を実行 (refresh_token、offline_access)
更新トークンを受信できる場合に、それを返すように指定します。これによ
り、ユーザがオフラインのときにアプリケーションがユーザのデータを操作で
きます。refresh_token 範囲は、offline_access と同じです。
カスタムアプリケーションへのアクセスの提供 (visualforce)
Visualforce ページへのアクセスを許可します。
Web 経由のデータへのアクセスを提供 (web)
Web で access_token を使用することを許可します。これには visualforce
も含まれ、Visualforce ページへのアクセスが許可されます。
情報の入力が完了したら、[保存]をクリックして新しいアプリケーションを保存しま
す。これでアプリケーションの公開、追加修正、削除ができるようになります。OAuth
を使用している場合、アプリケーションを保存すると、アプリケーションがSalesforce
との通信に使用する新しい 2 つの値が付与されます。
• コンシューマ鍵: コンシューマが Salesforce に自身の身分を証明するために使用する
値。OAuth 2.0 では client_id と呼ばれます。
• コンシューマの秘密: コンシューマがコンシューマキーの所有権を確立するために
使用する秘密。OAuth 2.0 では client_secret として参照されます。
接続アプリケーションについての詳細は、Salesforceオンラインヘルプの「接続アプリ
ケーションの作成」を参照してください。
REST 環境の確認 (REST ベースの API)
Eclipse で簡単な Java テストアプリケーションを使用して開発者環境を検証できます。
JDK、Eclipse、HttpClient、および JSON フレームワークがインストールされている必要が
あります。
1. Eclipse を実行します。[File (ファイル)] > [New (新規)] > [Java Project (Java プロジェク
ト)] をクリックして、プロジェクトに「SF-REST-Test」という名前を付けます。
2. [Project (プロジェクト)] > [Properties (プロパティ)] > [Java Build Path (Java 作成パス)] >
[Libraries (ライブラリ)] をクリックして、[Add External JARs] をクリックします。
HttpClient .jar ファイル (httpclient、httpcore、commons-codec、
commons-logging) を追加します。.jar ファイルのファイル名にはバージョン情報
が付加されます。JSON .jar ファイルを追加します。この .jar ファイルのファイル名
にもバージョン番号が付加される場合があります。
3. 新しいフォルダを src フォルダに追加します。これを行うには、src を右クリッ
クして、[New (新規)] > [Folder (フォルダ)]を選択し、フォルダ名として sfdc_rest
を使用します。
4. 新しいクラスを作成します。これを行うには sfdc_rest を右クリックして、[New
(新規)] > [Class (クラス)] を選択します。クラスに Main という名前を付けます。
10
Java 開発者環境の設定
REST 環境の確認 (REST ベースの API)
5. Eclipse で生成される Main.java のコードを次のセクションで説明されているよう
に置き換えます。
Main.java クラスの次の簡単なログインコード例を使用します。YOUR DEVORG USERNAME
を Developer Edition 組織のユーザ名で置き換え、YOUR DEVORG PASSWORD + SECURITY
TOKEN を Developer Edition 組織のパスワードとセキュリティトークンで置き換えます。
組織でセキュリティトークンを設定していない場合、パスワードのみを入力します。
YOUR OAUTH CONSUMER KEY を Developer Edition 組織の接続アプリケーションのコン
シューマキーで置き換えます。YOUR OAUTH CONSUMER SECRET を Developer Edition 組
織の接続アプリケーションのコンシューマの秘密で置き換えます。このコードの GitHub
Gist は、https://gist.github.com/anonymous/fcb1bc36ef50c0efbeb5 で入手できます。
package sfdc_rest;
import java.io.IOException;
import
import
import
import
import
import
org.apache.http.client.methods.HttpPost;
org.apache.http.impl.client.DefaultHttpClient;
org.apache.http.HttpResponse;
org.apache.http.HttpStatus;
org.apache.http.util.EntityUtils;
org.apache.http.client.ClientProtocolException;
import org.json.JSONObject;
import org.json.JSONTokener;
import org.json.JSONException;
public class Main {
static final String USERNAME
static final String PASSWORD
TOKEN";
static final String LOGINURL
= "YOUR DEVORG USERNAME";
= "YOUR DEVORG PASSWORD + SECURITY
= "https://login.salesforce.com";
static final String GRANTSERVICE =
"/services/oauth2/token?grant_type=password";
static final String CLIENTID
= "YOUR OAUTH CONSUMER KEY";
static final String CLIENTSECRET = "YOUR OAUTH CONSUMER SECRET";
public static void main(String[] args) {
DefaultHttpClient httpclient = new DefaultHttpClient();
// Assemble the login request URL
String loginURL = LOGINURL +
GRANTSERVICE +
"&client_id=" + CLIENTID +
"&client_secret=" + CLIENTSECRET +
"&username=" + USERNAME +
"&password=" + PASSWORD;
// Login requests must be POSTs
HttpPost httpPost = new HttpPost(loginURL);
11
Java 開発者環境の設定
REST 環境の確認 (REST ベースの API)
HttpResponse response = null;
try {
// Execute the login POST request
response = httpclient.execute(httpPost);
} catch (ClientProtocolException cpException) {
// Handle protocol exception
} catch (IOException ioException) {
// Handle system IO exception
}
// verify response is HTTP OK
final int statusCode =
response.getStatusLine().getStatusCode();
if (statusCode != HttpStatus.SC_OK) {
System.out.println("Error authenticating to Force.com:
"+statusCode);
// Error is in EntityUtils.toString(response.getEntity())
return;
}
String getResult = null;
try {
getResult = EntityUtils.toString(response.getEntity());
} catch (IOException ioException) {
// Handle system IO exception
}
JSONObject jsonObject = null;
String loginAccessToken = null;
String loginInstanceUrl = null;
try {
jsonObject = (JSONObject) new
JSONTokener(getResult).nextValue();
loginAccessToken = jsonObject.getString("access_token");
loginInstanceUrl = jsonObject.getString("instance_url");
} catch (JSONException jsonException) {
// Handle JSON exception
}
System.out.println(response.getStatusLine());
System.out.println("Successful login");
System.out.println(" instance URL: "+loginInstanceUrl);
System.out.println(" access token/session ID:
"+loginAccessToken);
// release connection
httpPost.releaseConnection();
}
}
次の出力は、このコードの実行の一般的な成功例です。
HTTP/1.1 200 OK
Successful login
instance URL: https://na1.salesforce.com
12
Java 開発者環境の設定
REST 環境の確認 (REST ベースの API)
access token/session ID:
00DU0000000L5SPxa1XFi0rwB16YCQ.Xyv2nKiCT8iIN9_nkKQJ3UUf
検証用の Java プロジェクトを実行して、組織に一致する出力が表示された場合、開発
者環境が設定されていて、Salesforce REST API と統合する Java アプリケーションの開発
を開始できます。
13