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;
}
私は試しましたが、「カスタムオブジェクト名は__cで終わらなければなりません」というエラーが発生しました。 – bksi
CustomFieldだけでなく、CustomObjectを送信しているように聞こえます。 – superfell
あなたは正しいです。助けてくれてありがと – bksi