Esportare report Intune usando le API Graph
Tutti i report di cui è stata eseguita la migrazione all'infrastruttura di creazione report Intune saranno disponibili per l'esportazione da una singola API di esportazione di primo livello. È necessario usare microsoft API Graph per effettuare la chiamata HTTP. Microsoft Graph è un'API Web RESTful che consente di accedere alle risorse del servizio cloud Microsoft.
Nota
Per informazioni sull'effettuazione di chiamate API REST, inclusi gli strumenti per l'interazione con Microsoft Graph, vedere Usare microsoft API Graph.
Microsoft Intune esporterà i report usando l'endpoint microsoft API Graph seguente:
https://graph.microsoft.com/beta/deviceManagement/reports/exportJobs
https://graph.microsoft.com/v1.0/deviceManagement/reports/exportJobs
I dispositivi di esempio segnalano richieste e risposte
Quando si effettua la richiesta, è necessario specificare un reportName
parametro come parte del corpo della richiesta in base al report che si vuole 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, ad esempio quelle specificate nell'esempio precedente. Non compilare l'automazione per le 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 fino a ottenere 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 del report desiderato. Verranno accettati solo i nomi di colonna validi rilevanti per il report che si sta chiamando. -
format
: non obbligatorio. Per impostazione predefinita, i dati vengono restituiti incsv
formato. Specificarejson
per restituire il file in formato JSON. -
localizationType
: questo parametro controlla il comportamento di localizzazione per il report. I valori possibili sonoLocalizedValuesAsAdditionalColumn
eReplaceLocalizableValues
.
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 dell'enumerazione contiene una stringa non elaborata o un set di numeri che non cambiano, indipendentemente dalle impostazioni locali. Questa colonna si trova sotto il nome della colonna originale (vedere l'esempio).
- valore stringa localizzata: questa colonna è il nome della colonna originale con _loc aggiunto. Contiene valori stringa leggibili e condizionali per le 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, vengono restituite solo una singola colonna con il nome di colonna true e i valori di colonna true.
Importante
Il localizationType
parametro è rilevante per qualsiasi esperienza di esportazione ospitata dall'infrastruttura di report di Intune con alcune 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 garantire che l'API exportJobs
non abbia troppe richieste simultanee, che influirebbero sulla velocità di risposta dell'API, vengono applicati i limiti di limitazione seguenti.
-
Le API supporteranno fino a 100 richieste al minuto per tenant: questo supporto copre tutti gli utenti e le app in un tenant. Eventuali richieste aggiuntive avviate da utenti o app nel tenant entro lo stesso minuto verranno limitate.
- Se le API vengono avviate da un utente, fino a 8 richieste saranno consentite dallo stesso utente entro un minuto. Le richieste successive dello stesso utente entro lo stesso minuto verranno limitate.
- Se le API vengono avviate da un'app, entro un minuto saranno consentite fino a 48 richieste dalla stessa app. Le richieste successive della stessa app entro lo stesso minuto verranno limitate.