2017-10-15 146 views
1

我正在開發一個公司應用程序,該應用程序使用Microsoft Graph從公司的雲服務中提取數據。在這一刻,我試圖使用Graph Intune API/deviceAppManagement/mobileApps來獲取公司應用程序的列表。Microsoft Graph Intune:如何獲取公司應用程序的圖標

但是,它不會返回每個應用程序的圖標地址,它們都是空的。這些圖標在Intune門戶中設置,並在公司門戶應用程序中正確顯示。有什麼方法可以讓我擁有這些圖標嗎?

enter image description here

回答

0

@Jason_wun

總結:如果我們設置標誌正確,我們應該得到與編碼串的base64的largeIcon。

詳細:

  1. 首先,讓我們驗證標識是否正確上傳。 (我確信 你做得對,因爲你在公司門戶 應用程序中看到它,但僅僅是爲了完整性)。

    • 在portal.azure.com去,Intune->移動應用程序 - >應用程序
    • 選擇您要更新的應用程序/添加圖標,然後選擇屬性 - >應用信息 - >標誌
    • 在那裏上傳Logo(我使用了PNG格式來重現這個場景)。
    • 我們應該得到「Upload Completed for」的消息才能成功上傳。
  2. 現在,讓我們把這個GET調用來獲取圖標以及其他應用程序相關的元數據


{ 
"@odata.context": "https://graph.microsoft.com/beta/$metadata#deviceAppManagement/mobileApps/$entity", 
"@odata.type": "#microsoft.graph.androidLobApp", 
"id": "xxxxxxxx-xxxx-xxxx-GUID-SAMPLExHEREx", 
"displayName": "<Display name of your app>", 
"description": "<Some description>", 
"publisher": "<publisher name>", 
"largeIcon": { 
    "type": "image/png", 
    "value": "iVBORw0KGgoAAAANSUhEUgAAAHoAAABtCAIAAADh6OKQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAQASURBVHhe7ZzteaswDEY7FwNlnkyTZTJMrw2SLQkbAs19a9L3/CqWP+qDEQX89OubAKFuKNQNhbqhUDcU6oZC3VCoGwp1Q6FuKNQNhbqhUDcU6oZC3VCoGwp1Q6FuKNQN5Uq6H7evzO0hxxfkBd3P+zRPc7o/peSXoG4o1A1l+UV+/df4Ced0Px/327SUJqbp5hQ8U7CE7g8TmttJaGlXozJMGuX5KJ27nle6+wONygndeuzpR/Xib7fbC3eTR3+ggTmpe7o9nnIkGVXCWllWZV6oi4Vip3SjDUWT0Zc6twVNjd2BhuYNuVu0ed1Zg63e6sSXNWq4ngO9gcbmbO5O2VWmq2i4LNpEys6SUbXUrUBXeFB3b6CxeVvuNlLme52UJmaZ/0F3e6CxOa5bHRUJPSklOedIQ2YoO6FbcAONzQu6w2T0UK5etVSlletaQ27x6r0tNizHxtmW7u5AQ7OlW7wKZdLqO1B0y3FBJbTblW6P656Dhosnk6onPseYlJmW2H2uqFLMs8fqDpYbVkvuKeeo7u2BRuWFZELeB3VDoW4o1A2FuqFQNxTqhkLdUKgbCnVDoW4o1A3lKrobL7CuCHVDoW4o1A1lV3dvp9LWRqrls0AykyqF/VDmA4NtIjaXJjpgo4LX7b5WXOILw7ZunWRl+UC1Ls8UFZ3Pa8lIuztjM1bQPte6m4O4szEgm7p1jrLK8mKquvNiEhU6c51sNbEsOHt2Qon4NjWkQunDn+A4RDkd6TqaC/QEjslLund3Ksnkg4u61KKsVcm6QigKFVYj1BpD+97J3WWNJXxynPPmMsGCzn4tY+8EbOhe/PkKJdbAdDEe+7fK7FVmkvCXdkBn+qu6r7y6Cy4/259ngs236PaDhArrEa7BXu4uCUTnmxePmpCYhsrsz+tOhHtpqBDrm79Nlz8hh17cL94qK8ts1HdAbf5It0fthfr9FhfWnSfV2alkM3oq9xupzutOi7V27MaLuhP+SWv5/Wp0SF7N3f+Zls1PhLqhUDcU6oYyiO6/AnVDoW4o1A2FuqFQNxTqhkLdUKgbyp5ufdU69nvNy0DdUKgbyindZqfTl9vrFEL5jf+h/zb18RzXrS/vDPoerxHKaNtO+C9dOod1a4F+k50X6qy72Cz2ta60NrrD998/4/uo7vVqV9SdfWXtyxo1pDvb5qM5qLvlVGieCFdI3dSN5aRuL3WmdSZ8GXUfzt3FtxrKO30nt3jf9d+mPpGjumuJRaKtkHFJ3Sd0J8LeKuvKPMAk3FMOde/rJm+FuqFQNxTqhkLdUKgbCnVDoW4o1A2FuqFQNxTqhkLdUKgbCnVDoW4o1A2FuqFQNxTqhkLdUKgbCnVDoW4g39//AGOcjUiB9dTTAAAAAElFTkSuQmCC" 
}, 
"createdDateTime": "2018-01-09T23:08:32.1089504Z", 
"lastModifiedDateTime": "2018-01-09T23:41:37.5000422Z", 
"isFeatured": true, 
"privacyInformationUrl": null, 
"informationUrl": null, 
"owner": "", 
"developer": "", 
"notes": "", 
"uploadState": 1, 
"committedContentVersion": "2", 
"fileName": "<Your app file name>", 
"size": 4426224, 
"identityVersion": "103185025", 
"identityName": "<reversed domain name type>", 
"minimumSupportedOperatingSystem": { 
    "v4_0": true, 
    "v4_0_3": false, 
    "v4_1": false, 
    "v4_2": false, 
    "v4_3": false, 
    "v4_4": false, 
    "v5_0": false, 
    "v5_1": false 
}, 
"versionName": "10.3.185.25", 
"versionCode": "103185025" 

}


  • 在上面的響應JSON,該圖標數據可以從 「largeIcon」 屬性的 「值」 而獲得。重要的是要知道,在largeIcon的值下給出的字符串不是圖標的地址,而是用base64格式編碼的實際圖像數據。
  • 在此示例響應中,此處提到的值來自可用base64解碼器查看的實際圖像。
    • 要快速查看圖像只是複製largeIcon的價值,請訪問:decodebase64.com
    • 在文本框中輸入字符串以標題「的Base64(自動解碼)」
    • 在粘貼「選項」,單擊「解碼作爲圖像」
    • 你會看到一個帶文本的圖像‘賈森的樣本圖標’:)
  • 綜上所述獲得圖像,我們需要以base64解碼ENCOD bigIcon的ed值。

    在一個側面說明:如果你想只得到圖標信息(不包括其他應用程序元數據的以下調用可能會有所幫助

    https://graph.microsoft.com/beta/deviceAppManagement/mobileApps/<GUID of the app's Id here>?$select=largeIcon 
    
    相關問題