使用圖形 API 匯出 Intune 報表
所有已移轉至 Intune 報表基礎結構的報表,都可以從單一最上層匯出 API 導出。 您必須使用Microsoft 圖形 API來進行 HTTP 呼叫。 Microsoft圖形是一種 RESTful Web API,可讓您存取Microsoft雲端服務資源。
注意事項
如需進行 REST API 呼叫的相關信息,包括與 Microsoft Graph 互動的工具,請參閱使用Microsoft 圖形 API。
Microsoft Intune 會使用下列Microsoft 圖形 API端點來匯出報表:
https://graph.microsoft.com/beta/deviceManagement/reports/exportJobs
https://graph.microsoft.com/v1.0/deviceManagement/reports/exportJobs
範例裝置報告要求和回應
提出要求時,您必須根據您想要導出的報表,提供參數作為要求本文的一 reportName
部分。 以下是 裝置 報表的導出要求範例。 您必須在要求上使用 POST HTTP 方法。 POST 方法是用來建立新的資源或執行動作。
要求範例
下列要求包含要求上用來Microsoft Graph 的 HTTP 方法。
{
"reportName": "Devices",
"filter":"(OwnerType eq '1')",
"localizationType": "LocalizedValuesAsAdditionalColumn",
"format": "json",
"select": [
"DeviceName",
"managementAgent",
"ownerType",
"complianceState",
"OS",
"OSVersion",
"LastContact",
"UPN",
"DeviceId"
]
}
注意事項
若要擷取數據,請選取特定數據行,例如上述範例中指定的數據行。 請勿在任何報表導出的預設數據行周圍建立自動化。 您應該建置自動化以明確選取相關數據行。
回應範例
根據上述 POST 要求,Graph 會傳回回應消息。 回應消息是您要求的數據或作業的結果。
{
"@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"
}
然後,您可以使用 欄 id
位,透過 GET 要求來查詢匯出的狀態:
例如: https://graph.microsoft.com/beta/deviceManagement/reports/exportJobs('Devices_05e62361-783b-4cec-b635-0aed0ecf14a3')
或 https://graph.microsoft.com/beta/deviceManagement/reports/exportJobs/Devices_05e62361-783b-4cec-b635-0aed0ecf14a3
您必須繼續呼叫此 URL,直到您取得具有 屬性的 status: completed
響應為止。 看起來如下列範例所示:
{
"@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"
}
然後,您可以直接從 欄位下載壓縮的 url
CSV。
報表參數
您可以在要求本文中提交五個主要參數來定義匯出要求:
-
reportName
:必填。 此參數是您想要指定的報表名稱。 -
filter
:大部分報表都不需要 。 篩選參數是字串。 -
select
:不需要。 指定您想要報表中的數據行。 只會接受與您要呼叫之報表相關的有效數據行名稱。 -
format
:不需要。 根據預設,數據會以csv
格式輸出。 指定json
以 JSON 格式輸出檔案。 -
localizationType
:此參數可控制報表的當地語系化行為。 可能的值為LocalizedValuesAsAdditionalColumn
和ReplaceLocalizableValues
。
當地語系化行為
參數 localizationType
會控制報表的當地語系化行為。 此參數的可能值為 LocalizedValuesAsAdditionalColumn
和 ReplaceLocalizableValues
。
LocalizedValuesAsAdditionalColumn 報表值
參數的這個 localizationType
值是預設值。 如果未指定 參數, localizationType
則會自動插入。 這個值會指定 Intune 為每個可當地語系化的數據行提供兩個數據行。
- 列舉值:列 舉值 數據行包含未經處理的字串,或一組不會變更的數位,不論地區設定為何。 此資料列位於原始資料行名稱底下 (請參閱範例) 。
- 本地化的字串值:此數據行是附加_loc的原始數據行名稱。 它包含人類可讀取的字串值,以及地區設定條件式 (請參閱範例) 。
範例
作業系統 | OS_loc |
---|---|
1 | Windows |
1 | Windows |
1 | Windows |
2 | iOS |
3 | Android |
4 | Mac |
ReplaceLocalizableValues 報表值
ReplaceLocalizableValues 報表值只會傳回每個當地語系化屬性一個數據行。 此數據列包含具有當地語系化值的原始資料行名稱。
範例
作業系統 |
---|
Windows |
Windows |
Windows |
iOS |
Android |
Mac |
對於沒有本地化值的數據行,只會傳回具有 true 數據行名稱和 true 數據行值的單一數據行。
重要事項
參數localizationType
與 Intune 的報告基礎結構所裝載的任何匯出體驗相關,但有幾個例外狀況。
DevicesWithInventory
和Devices
報表類型將不會接受 參數,localizationType
因為舊版相容性需求。
API 節流條件
為了確保 exportJobs
API 沒有太多並行要求,而這會影響 API 的響應速率,會套用下列節流限制。
-
API 每分鐘最多可支援每個租使用者 100 個要求:此支援涵蓋租使用者中的所有用戶和應用程式。 使用者或租用戶中應用程式在同一分鐘內起始的任何其他要求都會受到節流。
- 如果 API 是由使用者起始,則相同使用者最多會在一分鐘內允許 8 個要求。 相同使用者在相同分鐘內的後續要求將會受到節流。
- 如果 API 是由應用程式起始,則相同應用程式最多會在一分鐘內允許 48 個要求。 相同應用程式在相同分鐘內的後續要求將會受到節流。