Gerätemetadaten

Als Reseller können Sie mit jedem Gerät Metadaten verknüpfen, z. B. eine Telefonnummer oder eine Auftragsnummer. Sie können Metadaten verknüpfen, indem Sie die API aufrufen oder eine CSV-Datei in das Zero-Touch-Portal hochladen. In Tabelle 1 ist aufgeführt, wer Metadaten verknüpfen und ansehen kann:

Tabelle 1: Berechtigungen für Metadaten

Aufgabe Reseller Kunden
Metadaten durch Aufrufen der API verknüpfen
Metadaten durch Hochladen einer CSV-Datei in das Zero-Touch-Portal verknüpfen
Gerätemetadaten in den Ergebnissen von API-Aufrufen ansehen
Gerätemetadaten im Portal für die Zero-Touch-Registrierung ansehen

Metadaten zuweisen

Rufen Sie die Methode partners.devices.metadata auf, um Metadaten mit jedem Gerät zu verknüpfen. Mit den Schlüsseln aus der folgenden Tabelle 2 können Sie Telefon- und Bestellnummern für Ihre Android-Geräte hinzufügen:

Tabelle 2: Metadatenschlüssel für Android-Geräte

Daten Schlüssel Werttyp Beispiel
Telefonnummer phonenumber String +49 (800) 5550100
Bestellnummer ordernumber String GOOG#123/ABC-123456

Beide Metadatenwerte sind Strings im freien Format, sodass Sie ein Format verwenden können, das für Ihr Unternehmen sinnvoll ist.

Für ChromeOS-Geräte können Sie die Schlüssel aus Tabelle 3 unten verwenden:

Tabelle 3. Metadatenschlüssel für ChromeOS-Geräte

Daten Schlüssel Werttyp Beispiel
Bestellnummer ordernumber String GOOG#123/ABC-123456

Wenn Sie Metadaten beim Erstellen von Geräten zuweisen möchten, schließen Sie die Metadaten beim Aufruf von claimAsync ein. Das folgende Beispiel zeigt, wie eine Telefonnummer und Bestellnummer für das vorhandene Gerät TARGET_DEVICE_ID festgelegt werden:

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

Die Metadatenargumente ersetzen vorhandene Metadatenwerte für denselben Schlüssel.

Metadaten löschen

Sie können Ihre Metadaten von Geräten löschen. Übergeben Sie leere Strings für Metadatenwerte, die Sie löschen möchten. Das folgende Beispiel zeigt, wie die Telefonnummer gelöscht wird:

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