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 オンラインヘルプを参照してください)。
1swfobject.registerObject("clippy.codeblock-1", "9"); 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17global class AccountRetrieval{ 18 19webService static String getAccount(String name) { 20 List<Account> accounts = new List<Account>(); 21 for (Account account : Database.query('Select Id, Name, phone from Account where Name like\"' + name + '%\"')){ 22 accounts.add(account); 23 } 24 String JSONString = JSON.serialize(accounts); 25 return JSONString; 26 } 27 } 28 - サードパーティのソフトフォンがコールできるように、Salesforce の Apex クラスおよび Apex メソッドを作成した場所で [WSDL の作成] をクリックしてメソッドおよびクラスを公開します。
- コードをソフトフォンに追加します。
1swfobject.registerObject("clippy.codeblock-2", "9"); 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17<html> 18<head> 19 <script type="text/javascript" src="http://domain:port/support/api/25.0/interaction.js"></script> 20 <script type="text/javascript"> 21 var callback = function (response) { 22 if (response.result) { 23 alert(response.result); 24 } else { 25 alert(response.error); 26 } 27 }; 28 function runApex() { 29 //Invokes API method 30 sforce.interaction.runApex('AccountRetrieval', 'getAccount', 'name=acme', callback); 31 } 32</script> 33</head> 34<body> 35 <button onclick="runApex();">runApex</button> 36</body> 37</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 コールが失敗した場合、この変数はエラーメッセージを返します。 |