runApex()
構文
1sforce.interaction.runApex(apexClass:string, methodName:string, methodParams:string, (optional) callback:function)引数
| 名前 | 型 | 説明 |
|---|---|---|
| apexClass | string | 実行するメソッドの Apex クラスを指定します。 |
| methodName | string | 実行するメソッドを指定します。 |
| methodParams | string | メソッドに渡すパラメータを指定します。文字列は、項目値のペアを含み、有効なクエリ文字列の形式にする必要があります。たとえば、name=acme&phone=(212) 555-5555 です。 |
| callback | function | メソッドの完了時にコールされる JavaScript メソッド。 |
サンプルコード – JavaScript
- システム管理者が Apex クラスおよび Apex メソッドを作成します (詳細は Salesforce オンラインヘルプを参照してください)。
1global class AccountRetrieval{ 2 3webService static String getAccount(String name) { 4 List<Account> accounts = new List<Account>(); 5 for (Account account : Database.query('Select Id, Name, phone from Account where Name like\"' + name + '%\"')){ 6 accounts.add(account); 7 } 8 String JSONString = JSON.serialize(accounts); 9 return JSONString; 10 } 11 } - サードパーティのソフトフォンがコールできるように、Salesforce の Apex クラスおよび Apex メソ��ドを作成した場所で [WSDL の作成] をクリックしてメソッドおよびクラスを公開します。
- コードをソフトフォンに追加します。
1<html> 2<head> 3 <script type="text/javascript" src="http://domain:port/support/api/25.0/interaction.js"></script> 4 <script type="text/javascript"> 5 var callback = function (response) { 6 if (response.result) { 7 alert(response.result); 8 } else { 9 alert(response.error); 10 } 11 }; 12 function runApex() { 13 //Invokes API method 14 sforce.interaction.runApex('AccountRetrieval', 'getAccount', 'name=acme', callback); 15 } 16</script> 17</head> 18<body> 19 <button onclick="runApex();">runApex</button> 20</body> 21</html> - 出力が返されます。ここでは、取引先 Acme が見つかりました。
1[{"attributes":{"type":"Account", 2"url":"/services/data/v25.0/sobjects/Account/001x0000003DGQRAA4"}, 3"Id":"001x0000003DGQRAA4","Name":"Acme","Phone":"(212) 555-5555"}]
応答
| 名前 | 型 | 説明 |
|---|---|---|
| result | string | 指定された Apex クラスからメソッドを実行した結果を返します。 返される形式の指定はできません。形式は、実行されたメソッドの値によって決定されます。 |
| error | string | API コールが正常に行われた場合、この変数は未定義です。API コールが失敗した場合、この変数はエラーメッセージを返します。 |