この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

upsertMetadata()

組織の 1 つ以上のメタデータコンポーネントを同期して作成または更新します。

構文

使用方法

upsertMetadata() コールは、メタデータを拡張するすべてのコンポーネントの作成または更新に使用します。同一コール内のすべてのコンポーネントは、同じ種類である必要があります。詳細は、「Metadata コンポーネントおよびメタデータ型」を参照してください。

指定されたコンポーネントがすでに組織に存在する場合、upsertMetadata() コールはこれらのコンポーネントを更新します。存在しない場合、upsertMetadata() はこれらのコンポーネントを作成します。コンポーネントは fullname 項目によって照合されます。このコールは同期して実行されます。つまり、コールは、操作が完了した後にのみ戻ります。

API バージョン 34.0 以降、このコールで AllOrNoneHeader ヘッダーがサポートされます。デフォルトでは、AllOrNoneHeader が API バージョン 34.0 以降で使用されていない場合、このコールでエラーのない一部のレコードを保存できます (AllOrNoneHeader=false に相当)。API バージョン 33.0 以前の場合、デフォルトでは、コール内のどのレコードにもエラーがない場合にのみ、すべてのレコードが保存されます (AllOrNoneHeader=true に相当)。

バージョン

API バージョン 31.0 以降で利用できます。

権限

クライアントアプリケーションは、「すべてのデータの編集」権限または「メタデータ API 関数を使用したメタデータを変更」権限でログインしている必要があります。

ユーザにメタデータへのアクセス権が必要でデータへのアクセス権は不要な場合、「メタデータ API 関数を使用したメタデータを変更」権限を有効にして、組織データへのアクセス権を付与せずにユーザが必要としているアクセス件を付与することができます。

メモ

必須項目

コンポーネント内のすべての必須項目に値を指定する必要があります。

有効な項目値

整数項目については整数 (英字は不可)、項目のデータ型に対して有効な値を入力する必要があります。クライアントアプリケーションでは、プログラム言語および開発ツールで指定されているデータ形式ルールに従ってください。(開発ツールは、SOAP メッセージのデータ型の適切な対応付けを処理します)。

文字列値

String 項目に値を保存する場合、API は先頭および末尾の空白文字を削除します。たとえば、label 項目の値に "MyObject " と入力されると、その値はデータベースに "MyObject" として保存されます。

メタデータコンポーネント更新/挿入の基本手順

メタデータコンポーネントを更新/挿入するには、次のプロセスを使用します。
  1. 作成または更新するコンポーネントに対応するメタデータオブジェクトの配列を作成します。すべてのコンポーネントは同じ種類である必要があります。
  2. upsertMetadata() を呼び出し、前のステップで作成したメタデータコンポーネントの配列を渡します。

    upsertMetadata() コールは、UpsertResult オブジェクトの配列を返します。更新/挿入した各コンポーネントに対して UpsertResult が返されます。その中には、更新/挿入操作に関する情報 (操作が成功したかどうか、更新/挿入されたコンポーネントの名前、コンポーネントが作成されたかどうかを示すフラグ、操作が成功しなかった場合に返されるエラー) が含まれます。

サンプルコード —Java

引数

名前 説明
metadata Metadata[] 作成または更新する 1 つ以上のメタデータコンポーネントの配列。

上限: 10。

1 つの種類のコンポーネントの配列を送信する必要があります。たとえば、10 個のカスタムオブジェクトの配列または 10 個のプロファイルの配列を送信できますが、両方の種類を混ぜて送信することはできません。

応答

UpsertResult[]