2

Microsoft Graph を使用して会社のクラウド サービスからデータを取得する会社のアプリを開発しています。現時点では、Graph Intune API (/deviceAppManagement/mobileApps) を使用して会社のアプリのリストを取得しようとしています。

ただし、各アプリのアイコンのアドレスは返されず、すべて null です。アイコンは Intune ポータルで設定され、ポータル サイト アプリで適切に表示されます。これらのアイコンを表示する方法はありますか?

ここに画像の説明を入力

4

1 に答える 1

1

@ジェイソン・ワン

要約すると、ロゴを適切に設定すると、base64 でエンコードされた文字列を含む largeIcon を取得する必要があります。

詳細に:

  1. まず、ロゴが正しくアップロードされているかどうかを確認します。(ポータル サイト アプリに表示されるので、正しく実行したと確信していますが、完全を期すためです)。

    • portal.azure.com で、[Intune] -> [モバイル アプリ] -> [アプリ] に移動します。
    • アイコンを更新/追加するアプリを選択し、[プロパティ] -> [アプリ情報] -> [ロゴ] に移動します。
    • そこにロゴをアップロードします (このシナリオを再現するために PNG 形式を使用しました)。
    • アップロードが成功すると、「アップロードが完了しました」というメッセージが表示されます。
  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"

}


  1. 上記のレスポンス JSON では、"largeIcon" プロパティの "value" からアイコン データを取得できます。重要なことは、largeIcon の値の下に指定された文字列は、アイコンのアドレスではなく、base64形式でエンコードされた実際の画像データであるということです。
  2. この応答例では、ここで言及されている値は、base64 デコーダーで見ることができる実際の画像からのものです。
    • 画像をすばやく表示するには、largeIcon の値をコピーして、decodebase64.com に移動します
    • 「Base64 (自動デコード)」というキャプションを付けて、テキスト ボックスに文字列を貼り付けます。
    • 「オプション」の下にある「画像としてデコード」をクリックします。
    • 「ジェイソンのサンプル アイコン」というテキストを含む画像が表示されます:)

要約すると、画像を取得するには、base64 でエンコードされた largeIcon の値をデコードする必要があります。

補足: アイコン情報のみを取得する場合 (他のアプリのメタデータを除く) は、次の呼び出しが役立つ場合があります。

https://graph.microsoft.com/beta/deviceAppManagement/mobileApps/<GUID of the app's Id here>?$select=largeIcon
于 2018-01-10T00:28:10.013 に答える