販売パートナーは、電話番号や注文番号などのメタデータを各デバイスに関連付けることができます。メタデータは、 API を呼び出すか、CSV ファイルをアップロードする ことでゼロタッチ ポータルで関連付けることができます。表 1 に、メタデータを関連付けて表示できるユーザーを示します。
表 1 。メタデータの権限
| タスク | 販売パートナー | 導入事例 |
|---|---|---|
| API を呼び出してメタデータを関連付ける | ||
| ゼロタッチ ポータルに CSV ファイルをアップロードしてメタデータを関連付ける | ||
| API 呼び出しの結果でデバイス メタデータを表示する | ||
| ゼロタッチ ポータルでデバイス メタデータを表示する |
メタデータを割り当てる
各デバイスにメタデータを関連付けるには、
partners.devices.metadata メソッドを呼び出します。Android デバイスの電話番号と注文番号は、次の表 2 のキーを使用して追加できます。
表 2 。Android デバイスのメタデータキー
| データ | キー | 値の型 | 例 |
|---|---|---|---|
| 電話番号 | phonenumber |
文字列 | +1 (800) 555-0100 |
| 注文番号 | ordernumber |
文字列 | GOOG#123/ABC-123456 |
どちらのメタデータ値も自由形式の文字列であるため、組織に適した形式を使用できます。
ChromeOS デバイスの場合は、次の表 3 のキーを使用できます。
表 3 。ChromeOS デバイスのメタデータキー
| データ | キー | 値の型 | 例 |
|---|---|---|---|
| 注文番号 | ordernumber |
文字列 | GOOG#123/ABC-123456 |
| アセット ID | annotatedassetid |
文字列 | CORP-001234 |
| ロケーション | annotatedlocation |
文字列 | ニューヨーク |
| 割り当てユーザー | annotateduser |
文字列 | John Doe |
デバイスの作成時にメタデータを割り当てるには、
claimAsync を呼び出すときにメタデータを含めます。次の例は、既存のデバイス TARGET_DEVICE_ID に電話番号と注文番号を設定する方法を示しています。
Java
// Allowed metadata dictionary keys. private static String METADATA_KEY_PHONE_NUMBER = "phonenumber"; private static String METADATA_KEY_ORDER_NUMBER = "ordernumber"; // ... // Create the metadata record with the values. DeviceMetadata metadata = new DeviceMetadata(); Map<String,String> entries = new HashMap<String, String>(); entries.put(METADATA_KEY_ORDER_NUMBER, "GOOG123/ABC-#123456"); entries.put(METADATA_KEY_PHONE_NUMBER, "+1 (800) 555-0100"); metadata.setEntries(entries); // Set the metadata values on the target device. UpdateDeviceMetadataRequest body = new UpdateDeviceMetadataRequest(); body.setDeviceMetadata(metadata); DeviceMetadata response = service .partners() .devices() .metadata(PARTNER_ID, targetDeviceId, body) .execute();
.NET
// Allowed metadata dictionary keys. private static string MetadataKeyPhoneNumber = "phonenumber"; private static string MetadataKeyOrderNumber = "ordernumber"; // ... // Create the metadata record with the values. DeviceMetadata metadata = new DeviceMetadata { Entries = new Dictionary<string, string> { {MetadataKeyOrderNumber, "GOOG123/ABC-#123456"}, {MetadataKeyPhoneNumber, "+1 (800) 555-0100"} } }; // Set the metadata values on the target device. UpdateDeviceMetadataRequest body = new UpdateDeviceMetadataRequest { DeviceMetadata = metadata }; var request = service.Partners.Devices.Metadata(body, PartnerId, targetDeviceId); var results = request.Execute();
Python
# Allowed metadata dictionary keys. METADATA_KEY_ENTRIES = "entries"; METADATA_KEY_PHONE_NUMBER = "phonenumber"; METADATA_KEY_ORDER_NUMBER = "ordernumber"; # ... # Create the record with values. new_metadata = {METADATA_KEY_ENTRIES:{ \ METADATA_KEY_PHONE_NUMBER:'+1 (800) 555-0100', \ METADATA_KEY_ORDER_NUMBER:'GOOG123/ABC-#123456'}} # Set the metadata values on the target device. response = service.partners().devices().metadata( metadataOwnerId=PARTNER_ID, deviceId=target_device_id, body={'deviceMetadata':new_metadata}).execute()
メタデータ引数は、同じキーの既存のメタデータ値を置き換えます。
メタデータを削除する
デバイスからメタデータを削除できます。削除するメタデータ値には空の文字列を渡します。次の例は、電話番号を削除する方法を示しています。
Java
// Create the metadata record with the values. DeviceMetadata metadata = new DeviceMetadata(); Map<String,String> entries = new HashMap<String, String>(); entries.put(METADATA_KEY_PHONE_NUMBER, ""); metadata.setEntries(entries); // Call partners().devices().metadata() to remove the phone metadata from the device...
.NET
// Create the metadata record with empty values. DeviceMetadata metadata = new DeviceMetadata { Entries = new Dictionary<string, string> { {MetadataKeyPhoneNumber, ""} } }; // Call Partners.Devices.Metadata to remove the phone metadata from the device...
Python
# Create the metadata record with empty values. metadata_to_remove = {METADATA_KEY_ENTRIES: {METADATA_KEY_PHONE_NUMBER:''}} # Call partners().devices().metadata() to remove the phone number # metadata from the device...