1

このパラメーターとリンクを渡すことで Apex トリガーを作成しました。

  { 
  "Name" : "COTriggerEmp11", 
 "TableEnumOrId" : "employee__c",
  "Body" : "trigger COTriggerEmp11 on employee__c (before insert) {system.debug('Record Inserted');}"
}

 URL  :https://ap1.salesforce.com/services/data/v28.0/sobjects/ApexTrigger

今度は同じ方法で Apex Trigger を作成したいと思います...どのパラメータを渡す必要があるのか​​、Body セクションに何を記述すればよいのか。このドキュメントも参照しています: http://www.salesforce.com/us/developer/docs/api/index.htm

4

2 に答える 2

2

私は自分で試してみましたが、この解決策を得て、うまく機能しています。Apex クラスを動的に作成するには、次の手順を実行します。

{ 
    "Name": "aaTest1",
    "Body": "public class aaTest1{}"
}

これにより、クラス ID が自動的に生成されます。そのクラスを削除したい場合は、次のようにその ID を渡す必要があります。

https://ap1.salesforce.com/services/data/v28.0/sobjects/ApexClass/[Your Class ID]

たぶん、これは私のように立ち往生している人を助けるでしょう..ありがとう.

于 2013-09-03T07:13:14.953 に答える
0

これをさらに進めて、自動化によってより大きな Apex クラスを生成したいと考えました。そうすることで、他の人が同じことをしたい場合に役立つ可能性があることに注意したいコードを渡すために JSON を使用するため、いくつかの特別な考慮事項が見つかりました。

まず、バックスラッシュの使用を回避する必要がありました (出現箇所を に置き換えます\) \\。実際、私は (Salesforce 内から Salesforce クラスを作成する) Apex でコーディングしていたので、クラス コードを操作していたソース コードでそれらをエスケープする必要さえあったため、apex ステートメントは次のようになりました...

string bodystring = batchCode.replace('\\','\\\\');

そして、コード内の改行文字をエスケープする必要もありました (出現箇所を\nで置き換えます\\n)。

私が扱っていた他のソース コードにはタブ文字が含まれており、JSON の逆シリアル化で問題が発生していました。mycode.replace('\t',' ')そのため、コードからそれらを削除するために追加されました。

これらのコードの調整により、自動化によって Apex クラスを作成することができました。

于 2015-10-23T21:33:54.520 に答える