Sebagai reseller, Anda dapat mengaitkan metadata, seperti nomor telepon atau nomor pesanan pembelian, dengan setiap perangkat. Anda dapat mengaitkan metadata dengan memanggil API atau dengan mengupload file CSV di portal zero-touch. Tabel 1 menunjukkan siapa 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 | ||
| Melihat metadata perangkat di portal zero-touch |
Menetapkan metadata
Untuk mengaitkan metadata dengan setiap perangkat, panggil metode
partners.devices.metadata. Anda dapat menambahkan nomor telepon dan nomor pesanan untuk perangkat Android menggunakan tombol 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 tombol 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 |
| ID Aset | annotatedassetid |
String | CORP-001234 |
| Lokasi | annotatedlocation |
String | New York |
| Pengguna yang Ditetapkan | annotateduser |
String | John Doe |
Untuk menetapkan metadata saat Anda membuat perangkat, sertakan metadata saat memanggil
claimAsync. Contoh di bawah menunjukkan cara menyetel
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 Anda dari perangkat. Teruskan string kosong untuk nilai metadata 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...