Esportare report di Intune usando le API di Graph

Tutti i report di cui è stata eseguita la migrazione all'infrastruttura di creazione di report di Intune saranno disponibili per l'esportazione da un'unica API di esportazione di primo livello. È necessario usare l'API Graph Microsoft per effettuare la chiamata HTTP. Microsoft Graph è un'API Web RESTful che consente di accedere alle risorse del servizio Microsoft Cloud.

Nota

Per informazioni su come effettuare chiamate all'API REST, inclusi gli strumenti per interagire con Microsoft Graph, vedere Usare l'API Microsoft API Graph.

Microsoft Intune esporterà i report usando l'endpoint dell'API Graph Microsoft seguente:

https://graph.microsoft.com/beta/deviceManagement/reports/exportJobs
https://graph.microsoft.com/v1.0/deviceManagement/reports/exportJobs

Dispositivi di esempio: richiesta e risposta

Quando si effettua la richiesta, è necessario specificare un reportName parametro come parte del corpo della richiesta in base al report che si desidera esportare. Di seguito è riportato un esempio di richiesta di esportazione per il report Dispositivi . È necessario usare il metodo HTTP POST nella richiesta. Il metodo POST viene usato per creare una nuova risorsa o eseguire un'azione.

Esempio di richiesta

La richiesta seguente contiene il metodo HTTP usato nella richiesta a Microsoft Graph.

{
    "reportName": "Devices",
    "filter":"(OwnerType eq '1')",
    "localizationType": "LocalizedValuesAsAdditionalColumn",
    "format": "json",
    "select": [
        "DeviceName",
        "managementAgent",
        "ownerType",
        "complianceState",
        "OS",
        "OSVersion",
        "LastContact",
        "UPN",
        "DeviceId"
    ]
}

Nota

Per recuperare i dati, selezionare colonne specifiche, come quelle specificate nell'esempio precedente. Non creare l'automazione intorno alle colonne predefinite di qualsiasi esportazione di report. È consigliabile compilare l'automazione per selezionare in modo esplicito le colonne pertinenti.

Esempio di risposta

In base alla richiesta POST precedente, Graph restituisce un messaggio di risposta. Il messaggio di risposta è costituito dai dati richiesti o dal risultato dell'operazione.

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#deviceManagement/reports/exportJobs/$entity",
    "id": "Devices_05e62361-783b-4cec-b635-0aed0ecf14a3",
    "reportName": "Devices",
    "filter":"(OwnerType eq '1')",
    "localizationType": "LocalizedValuesAsAdditionalColumn",
    "select": [
        "DeviceName",
        "managementAgent",
        "ownerType",
        "complianceState",
        "OS",
        "OSVersion",
        "LastContact",
        "UPN",
        "DeviceId"
    ],
    "format": "csv",
    "snapshotId": null,
    "status": "notStarted",
    "url": null,
    "requestDateTime": "2020-08-19T03:43:32.1405758Z",
    "expirationDateTime": "0001-01-01T00:00:00Z"
}

È quindi possibile usare il id campo per eseguire una query sullo stato dell'esportazione con una richiesta GET:

Ad esempio: https://graph.microsoft.com/beta/deviceManagement/reports/exportJobs('Devices_05e62361-783b-4cec-b635-0aed0ecf14a3') o https://graph.microsoft.com/beta/deviceManagement/reports/exportJobs/Devices_05e62361-783b-4cec-b635-0aed0ecf14a3

È necessario continuare a chiamare questo URL finché non si ottiene una risposta con un status: completed attributo. L'esempio è simile al seguente:

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#deviceManagement/reports/exportJobs/$entity",
    "id": "Devices_05e62361-783b-4cec-b635-0aed0ecf14a3",
    "reportName": "Devices",
    "filter":"(OwnerType eq '1')",
    "localizationType": "LocalizedValuesAsAdditionalColumn",
    "select": [
        "DeviceName",
        "managementAgent",
        "ownerType",
        "complianceState",
        "OS",
        "OSVersion",
        "LastContact",
        "UPN",
        "DeviceId"
    ],
    "format": "csv",
    "snapshotId": null,
    "status": "completed",
    "url": "https://amsua0702repexpstorage.blob.core.windows.net/cec055a4-97f0-4889-b790-dc7ad0d12c29/Devices_05e62361-783b-4cec-b635-0aed0ecf14a3.zip?sv=2019-02-02&sr=b&sig=%2BP%2B4gGiZf0YzlQRuAV5Ji9Beorg4nnOtP%2F7bbFGH7GY%3D&skoid=1db6df02-4c8b-4cb3-8394-7ac2390642f8&sktid=72f988bf-86f1-41af-91ab-2d7cd011db47&skt=2020-08-19T03%3A48%3A32Z&ske=2020-08-19T09%3A44%3A23Z&sks=b&skv=2019-02-02&se=2020-08-19T09%3A44%3A23Z&sp=r",
    "requestDateTime": "2020-08-19T03:43:32.1405758Z",
    "expirationDateTime": "2020-08-19T09:44:23.8540289Z"
}

È quindi possibile scaricare direttamente il file CSV compresso dal url campo.

Parametri del rapporto

Sono disponibili cinque parametri principali che è possibile inviare nel corpo della richiesta per definire la richiesta di esportazione:

  • reportName: obbligatorio. Questo parametro è il nome del report che si desidera specificare.
  • filter: non obbligatorio per la maggior parte dei report. Il parametro di filtro è una stringa.
  • select: non obbligatorio. Specificare le colonne desiderate del report. Verranno accettati solo i nomi di colonna validi pertinenti per il report che si sta chiamando.
  • format: non obbligatorio. Per impostazione predefinita, i dati vengono emessi nel csv formato. Specifica json di restituire il file in formato JSON.
  • localizationType: questo parametro controlla il comportamento di localizzazione del report. I valori possibili sono LocalizedValuesAsAdditionalColumn e ReplaceLocalizableValues.

Comportamento di localizzazione

Il localizationType parametro controlla il comportamento di localizzazione per il report. I valori possibili per questo parametro sono LocalizedValuesAsAdditionalColumn e ReplaceLocalizableValues.

Valore del report LocalizedValuesAsAdditionalColumn

Questo valore per il localizationType parametro è il valore predefinito. Viene inserito automaticamente se il localizationType parametro non è specificato. Questo valore specifica che Intune fornisce due colonne per ogni colonna localizzabile.

  • Valore enumerazione: la colonna del valore di enumerazione contiene una stringa non elaborata o un set di numeri che rimangono invariati, indipendentemente dalle impostazioni locali. Questa colonna si trova sotto il nome della colonna originale (vedere l'esempio).
  • valore stringa localizzato: questa colonna è il nome di colonna originale con _loc aggiunta. Contiene valori stringa leggibili e condizionali alle impostazioni locali (vedere l'esempio).

Esempio

Sistema operativo OS_loc
1 Windows
1 Windows
1 Windows
2 iOS
3 Android
4 Mac

Valore del report ReplaceLocalizableValues

Il valore del report ReplaceLocalizableValues restituirà solo una colonna per ogni attributo localizzato. Questa colonna contiene il nome della colonna originale con i valori localizzati.

Esempio

Sistema operativo
Windows
Windows
Windows
iOS
Android
Mac

Per le colonne senza valori localizzati, viene restituita una sola colonna con il nome della colonna vera e i valori della colonna vera.

Importante

Il localizationType parametro è rilevante per qualsiasi esperienza di esportazione ospitata dall'infrastruttura di creazione di report di Intune, con poche eccezioni. IDevices tipi di report e DevicesWithInventory non rispettano il localizationType parametro a causa dei requisiti di compatibilità legacy.

Condizioni di limitazione delle API

Per assicurarsi che l'API exportJobs non abbia troppe richieste simultanee, che influirebbero sulla frequenza di risposta dell'API, vengono applicati i limiti di limitazione seguenti.

  • Le API supporteranno fino a 100 richieste per tenant al minuto: Il supporto riguarda tutti gli utenti e le app in un tenant. Tutte le richieste aggiuntive avviate da utenti o app nel tenant nello stesso minuto verranno limitate.
    • Se le API vengono avviate da un utente, lo stesso utente potrà consentire fino a 8 richieste entro un minuto. Le richieste successive dello stesso utente nello stesso minuto verranno limitate.
    • Se le API vengono avviate da un'app, saranno possibili fino a 48 richieste da parte della stessa app entro un minuto. Le richieste successive eseguite dalla stessa app nello stesso minuto verranno limitate.

Passaggi successivi