追記[HoloLens 2]Device Portalからアップロード・ダウンロードができない場合の対処

追記です。この件、MSから回避方法が出ていました。

Keep up to date with our list of known issues and workarounds that may affect HoloLens customers and developers using Unity and the Windows Device Portal.

なので、Postmanを使わなくても大丈夫です!
Device PortalのAPIのことや、CSRF対策が施されていること、その回避方法などを知れたので無駄ではなかった!!(悔し涙)


自分の環境で、Windows10 21H1を入れたタイミングから、Device PortalのFile Explolerを使ったファイルのアップロード・ダウンロードができなくなりました。以前はネットワーク越しでは失敗して、USBケーブルを接続するとできる、といった現象はありました。しかし今回は必ず失敗します。

近日中にOSのアップデートで改善すると思うのですが、現状の回避策をメモしておきます。(2021年6月14日現在)

Device PortalにはRESTのAPIがあります。そして、Device PortalのHTMLからはそのAPIが叩かれているので、ブラウザのツールから通信内容を見ることができます。
そのリクエスト内容を、Postmanというツールで叩くだけです。

ファイルのダウンロード

ブラウザのデベロッパーツールを開き、File Explolerで目的のファイルを表示し、Saveボタンを押します。

Request URLをコピーしておきます。

Postmanを起動し、新しいリクエストを作成して、URLを貼り付けます。メソッドはGETです。

そして、Authorizationは「Basic Auth」を選択し、Device PortalのIDとパスワードを入力します。
SENDをクリックして200 OKになれば成功です。「Save Response」を選んでファイルに保存してください。

※httpsで接続している場合にはSSLの警告が出ますので、Settings > Enable SSL Verificationをoffにしてください

ファイルのアップロード

同様に、DevicePortalでファイルをアップロードして、デベロッパーツールに表示されるURLをコピーしてください。
Postmanに入力する時には、メソッドは「POST」を選択します。
そしてAuthorizationは「Basic Auth」を選択するのですが、UsernameはDevice PortalのIDの先頭に「auto-」を付けてください。パスワードはそのままです。

Bodyはform-dataを選択し、アップロードしたいファイルをValueの部分で選択してください。そしてSENDをクリックします。

ファイルの削除

同様にDevice Portalでゴミ箱アイコンをクリックしたときのURLをデベロッパーツールから拾って、Basic AuthのIDは同じく「auto-」+ IDにしてください。
メソッドはDELETEを選択します。

POSTとDELETEの時にauto-をつけるのは、CSRF対策をスキップするためです。(GETの時には不要ですが、つけていても動作します)

Windows Device Portal で、ネットワーク経由でリモートから、または USB 接続によって、デバイスの構成と管理を行うための方法を説明します。
スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク