Metadata perangkat

Sebagai reseller, Anda dapat mengaitkan metadata, seperti nomor telepon atau nomor pesanan pembelian (PO), untuk 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
Mengatribusikan metadata dengan memanggil API
Mengaitkan metadata dengan mengupload file CSV ke portal zero-touch
Melihat metadata perangkat dalam hasil panggilan API
Melihat metadata perangkat di portal zero-touch

Menetapkan metadata

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

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, jadi Anda bisa menggunakan format yang masuk akal 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 ini menunjukkan setelan 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. Meneruskan string kosong untuk metadata beberapa nilai yang ingin dihapus. Contoh di bawah menunjukkan cara menghapus nomor telepon nomor:

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