2011-12-20 9 views
2

数日を検索して、標準のSalesForceオブジェクト(アカウント、リード、機会など)にカスタムフィールドを配置する方法が見つかりませんでした。 ..)。 hereと記載されているメタデータAPIについての情報しか見つかりませんでしたが、新しいメタデータをカスタムオブジェクトに挿入することについて説明しています。私はthis codeも見つけましたが、それはあまりにもカスタムオブジェクトに対してのみ機能します。誰もがこのことについてもっと知っていますか?ありがとう。標準のSalesForceオブジェクトに、メタデータAPIを使用してPHPを使用してカスタムフィールドを配置する方法

編集: ここでは例が見つからない人のための最終的な作業コードです。

// SOAP_CLIENT_BASEDIR - folder that contains the PHP Toolkit and your WSDL 
// $USERNAME - variable that contains your Salesforce.com username (must be in the form of an email) 
// $PASSWORD - variable that contains your Salesforce.com password 
define("SOAP_CLIENT_BASEDIR", "../../soapclient"); 
require_once (SOAP_CLIENT_BASEDIR.'/SforcePartnerClient.php'); 
require_once (SOAP_CLIENT_BASEDIR.'/SforceMetadataClient.php'); 
require_once ('../userAuth.php'); 
try { 
    $mySforceConnection = new SforcePartnerClient(); 
    $mySoapClient = $mySforceConnection->createConnection(SOAP_CLIENT_BASEDIR.'/partner.wsdl.xml'); 
    $loginResult = $mySforceConnection->login($USERNAME, $PASSWORD); 
    $myMetadataConnection = new SforceMetadataClient(SOAP_CLIENT_BASEDIR.'/metadata.wsdl.xml', $loginResult, $mySforceConnection); 
    $customField = new SforceCustomField(); 
    $customField->setFullName('Account.MyCustomFieldb__c'); 
    $customField->setDescription('Description of New Field'); 
    $customField->setLabel('My Custom Field Label'); 
    $customField->setType('Text'); 
    $customField->setLength(255); 
    print_r($myMetadataConnection->create($customField)); 
} catch (Exception $e) { 
    echo $myMetadataConnection->getLastRequest(); 
    echo $e->faultstring; 
} 

答えて

2

あなたは、例えばに追加したい標準オブジェクトに基づいて、FullNameプロパティを設定し、CustomField構造を移入作成しますAccount.rating__cを呼び出し、それをcreateメタデータAPI呼び出しに渡します。私はPHPについて知りません.Builderの例はhereです。

+0

私は試しましたが、「カスタムオブジェクト名は__cで終わらなければなりません」というエラーが発生しました。 – bksi

+0

CustomFieldだけでなく、CustomObjectを送信しているように聞こえます。 – superfell

+0

あなたは正しいです。助けてくれてありがと – bksi

関連する問題