FieldMask を使用してデータを更新する

API を使用してエージェント データを更新する場合は、データ型全体を上書きするか、データ型の特定のフィールドのみを上書きします。通常、誤ってすべてのデータを上書きしないように、特定のフィールドを上書きすることをおすすめします。特定のフィールドを上書きするには、更新リクエストに FieldMask を指定します。

次の例は、FieldMask を指定して、インテント タイプの表示名とイベントを更新する方法を示しています。

REST

patch メソッドの updateMask URL クエリ パラメータを指定します。次に例を示します。

?updateMask=displayName,events
    

C#

UpdateIntent メソッドの updateMask パラメータを指定します。たとえば、更新マスクを作成するには、次のようにします。

FieldMask updateMask = new FieldMask();
updateMask.Paths.AddRange(new string[] { "display_name", "events" });
    

Go

UpdateIntent メソッドの UpdateIntentRequest.UpdateMask フィールドを指定します。たとえば、更新マスクを作成するには、次のようにします。

import dialogflowpb "google.golang.org/genproto/googleapis/cloud/dialogflow/v2"
...
updateMask := &dialogflowpb.FieldMask{
  Paths: []string{"display_name", "events"},
}
    

Java

updateIntent メソッドの UpdateIntentRequest.UpdateMask フィールドを指定します。たとえば、更新マスクを作成するには、次のようにします。

FieldMask fieldMask =
  FieldMask.newBuilder()
    .addPaths("display_name")
    .addPaths("events")
    .build();
    

Node.js

updateIntent 関数の request.updateMask パラメータを指定します。たとえば、更新マスクを作成するには、次のようにします。

var updateMask = {
  'paths': [
    'displayName',
    'events'
  ]
};
    

PHP

UpdateIntent メソッドの optionalArgs.updateMask パラメータを指定します。たとえば、更新マスクを作成するには、次のようにします。

use Google\Protobuf\FieldMask;
...
$updateMask = new FieldMask([
  'paths' => ['displayName', 'events']
]);
    

Python

update_intent メソッドの update_mask パラメータを指定します。たとえば、更新マスクを作成するには、次のようにします。

from google.protobuf import field_mask_pb2
...
update_mask = field_mask_pb2.FieldMask(paths=['display_name', 'events'])
    

Ruby

update_intent 関数の update_mask パラメータを指定します。たとえば、更新マスクを作成するには、次のようにします。

mask = Google::Protobuf::FieldMask.new
mask.path = ["display_name", "events"]