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

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

なので、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というツールで叩くだけです。

Accelerate API development with Postman's all-in-one platform. Streamline collaboration and simplify the API lifecycle for faster, better results. Learn more.
ファイルのダウンロード

ブラウザのデベロッパーツールを開き、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 デバイス ポータル (WDP) を使用して、ネットワークまたは USB 接続を介して、デバイスをリモートで構成および管理する方法について説明します。
スポンサーリンク

シェアする

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

フォローする

スポンサーリンク