Metadata perangkat

Sebagai reseller, Anda dapat mengaitkan metadata, seperti nomor telepon atau nomor pesanan pembelian (PO), dengan setiap perangkat. Anda dapat mengaitkan metadata dengan memanggil API atau dengan mengupload file CSV di portal zero-touch. Tabel 1 menunjukkan siapa saja yang dapat mengaitkan dan melihat metadata:

Tabel 1. Izin metadata

Tugas Reseller Pelanggan
Mengaitkan metadata dengan memanggil API
Mengaitkan metadata dengan mengupload file CSV ke portal zero-touch
Melihat metadata perangkat dalam hasil panggilan API
Lihat metadata perangkat di portal zero-touch

Tetapkan metadata

Untuk mengaitkan metadata dengan setiap perangkat, panggil metode partners.devices.metadata. Anda dapat menambahkan nomor telepon dan pesanan untuk perangkat Android menggunakan kunci dari tabel 2 di bawah:

Tabel 2. Kunci metadata untuk perangkat Android

Data Kunci Jenis nilai Contoh
Nomor telepon phonenumber String +1 (800) 555-0100
Nomor pesanan ordernumber String GOOG#123/ABC-123456

Kedua nilai metadata adalah string bentuk bebas, sehingga Anda dapat menggunakan format yang sesuai untuk organisasi Anda.

Untuk perangkat ChromeOS, Anda dapat menggunakan kunci dari tabel 3 di bawah:

Tabel 3. Kunci metadata untuk perangkat ChromeOS

Data Kunci Jenis nilai Contoh
Nomor pesanan ordernumber String GOOG#123/ABC-123456

Untuk menetapkan metadata saat membuat perangkat, sertakan metadata saat memanggil claimAsync. Contoh di bawah menunjukkan penyetelan nomor telepon dan nomor pesanan untuk perangkat TARGET_DEVICE_ID yang ada:

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()

Argumen metadata Anda menggantikan nilai metadata yang ada untuk kunci yang sama.

Menghapus metadata

Anda dapat menghapus metadata dari perangkat. Teruskan {i>string<i} kosong untuk nilai {i>metadata <i}yang ingin Anda hapus. Contoh di bawah menunjukkan cara menghapus nomor telepon:

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...