Gerätemetadaten

Als Reseller können Sie Metadaten zuordnen, wie etwa eine Telefonnummer oder einen Auftragsnummer angegeben. Sie können Metadaten verknüpfen, indem Sie die API aufrufen oder eine CSV-Datei im Zero-Touch-Portal hochladen. In Tabelle 1 sehen Sie, wer Metadaten verknüpfen und aufrufen kann:

Tabelle 1. Metadatenberechtigungen

Aufgabe Reseller Kunden
Metadaten durch API-Aufruf 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 Zero-Touch-Portal ansehen

Metadaten zuweisen

Rufen Sie die Methode partners.devices.metadata auf, um jedem Gerät Metadaten zuzuordnen. Sie können Telefon- und Bestellnummern für Ihre Android-Geräte mit Schlüsseln aus der Tabelle 2 unten:

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 Freiform-Strings. Sie können also ein Format verwenden, für Ihr Unternehmen.

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

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

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

Wenn Sie beim Erstellen von Geräten Metadaten zuweisen möchten, geben Sie die Metadaten beim Aufruf von claimAsync an. Im Beispiel unten sehen Sie, wie Sie Telefonnummer und Bestellnummer für das vorhandene Gerät 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()

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

Metadaten löschen

Sie können Ihre Metadaten von Geräten löschen. Leere Strings für Metadaten übergeben Werte, die Sie löschen möchten. Im folgenden Beispiel wird gezeigt, 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...