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 API verwenden oder eine CSV-Datei hochladen im Zero-Touch-Portal ein. Tabelle 1 zeigt, wer Metadaten verknüpfen und ansehen 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

Um Metadaten mit jedem Gerät zu verknüpfen, rufen Sie die Methode partners.devices.metadata-Methode. 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, schließen Sie die Metadaten beim Aufruf mit ein claimAsync 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()

Die 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. Das folgende Beispiel zeigt, wie das Telefon gelöscht wird Nummer:

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