デバイス メタデータ

販売パートナーは、電話番号や注文書番号などのメタデータを各デバイスに関連付けることができます。メタデータを関連付けるには、API を呼び出すか、ゼロタッチ ポータルに CSV ファイルをアップロードします。表 1 に、メタデータを関連付けて表示できるユーザーを示します。

表 1.メタデータの権限

タスク 販売パートナー 導入事例
API を呼び出してメタデータを関連付ける
CSV ファイルをゼロタッチ ポータルにアップロードしてメタデータを関連付ける
API 呼び出しの結果のデバイス メタデータを表示する
ゼロタッチ ポータルでデバイスのメタデータを表示する

メタデータの割り当て

各デバイスにメタデータを関連付けるには、partners.devices.metadata メソッドを呼び出します。下記の表 2 のキーを使用して、Android デバイスの電話番号と注文番号を追加できます。

表 2. Android デバイスのメタデータキー

データ キー 値の型
電話番号 phonenumber 文字列 +1(800)555-0100
注文番号 ordernumber 文字列 GOOG#123/ABC-123456

どちらのメタデータ値も自由形式の文字列であるため、組織にとって適切な形式を使用できます。

ChromeOS デバイスの場合は、下の表 3 の鍵を使用できます。

表 3. ChromeOS デバイスのメタデータキー

データ キー 値の型
注文番号 ordernumber 文字列 GOOG#123/ABC-123456

デバイスの作成時にメタデータを割り当てるには、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...