treedown’s Report

システム管理者に巻き起こる様々な事象を読者の貴方へ報告するブログです。会社でも家庭でも"システム"に携わるすべての方の共感を目指しています。

やってみた、WinSCPでOneDriveへ接続

WinSCPを最新版にバージョンアップしてから気になっていた「Support for Microsoft OneDrive,」の文字。
WinSCPでOneDriveのファイルやフォルダを触れるってこと?これやってみたい。

てことで試してみたご報告です。

きっかけは5.11バージョンアップ

WinSCPを最新バージョン5.11にバージョンアップしたとき、公式の「WinSCP 5.11 - What's New? :: WinSCP」に、
「Support for Microsoft OneDrive, you can now connect securely to Microsoft OneDrive using WebDAV with Microsoft Passport authentication」
と記載があって、
「Microsoft OneDriveをサポートしたので、Microsoft Passport認証でWebDAVを使ってMicrosoft OneDriveに安全な接続ができるようになりましたよ」
って表記があってずっと気になっていました。

公式でも「WebDAVを使用してMicrosoft OneDriveに安全に接続する」というコンテンツが公開されています。

Connecting securely to Microsoft OneDrive with WebDAV :: WinSCP
  ※URL:https://winscp.net/eng/docs/guide_microsoft_onedrive

と、いうのも同期クライアントをインストールしないとブラウザではOneDriveはファイル&フォルダの操作がしづらい、特にフォルダ単位で操作するのはやっぱりエクスプローラライクな操作方法ができないとつらいものがあります。しかも同期クライアントをインストールしたら、全データが同期されてしまいますので、内蔵ストレージの容量が心許ないPC(モバイルPCとは古いPCだと顕著)では同期クライアントをインストールはちょっとためらう状況。こういうPCだとOneDriveのようなオンラインストレージは外付けのストレージのように使いたい、と思うものです。

同期クライアントをインストールしなくてもWinSCPでこれができるんなら便利じゃないか、ってことで、WinSCPでOneDriveの操作を試してみました。

やってみた=設定

忘れないように設定したときの手順を記録しておくことにします。

f:id:treedown:20170924124245p:plain
転送プロトコルを「WebDAV」、暗号化は「暗黙のTLS/SSL暗号化」を選択
ホスト名には公式ページに記載のある「d.docs.live.net」と入力
ログインはMicrosoftアカウントの情報を入力します。

これで接続してみると…

f:id:treedown:20170924124314p:plain
エラーになりました。おや?どうやら設定が足りなかった模様。よく読むとOneDriveにブラウザログインして“customer ID”をゲットしてきてね、って書いてあります。
※公式ページから:
「Press the Advanced button to open Advanced site settings dialog and go to Environment > Directories page .」
詳細設定ボタンをクリックして、高度なサイト設定ダイアログを開き、環境⇒ディレクトリ のページに移動します。

Paste your “OneDrive customer ID” into the Remote directory box and add a slash in front of it, ie like /ABCDEFGHIJKLMNOP .
"OneDriveカスタマーID"をリモートディレクトリボックスに貼り付けて、その前に「/」スラッシュを追加します。

と記載があります。

さっそく設定画面を開いて設定を確認です。

f:id:treedown:20170924124358p:plain
デフォルトでリモートディレクトリが「/」ルートディレクトリと指定されている箇所、ここが要設定箇所。これを調べるために、ブラウザでいったんOneDriveにログインしブラウザのアドレスバーを確認します。

f:id:treedown:20170924124415p:plain
URLの最後に「cid=」で始まる文字列、これがリモートディレクトリの設定値になります。つまり「8FEB~」ってのが設定値。
さっそく先ほどのWinSCPの設定画面のリモートディレクトリ欄に調べたcid=の文字列を入力します。

f:id:treedown:20170924124430p:plain
リモートディレクトリの値を入力したら、再度設定を保存して接続をしてみます。

f:id:treedown:20170924124501p:plain
OneDriveのフォルダがWinSCPで表示されました。
これでブラウザで開かなくても直接OneDrive上のファイルやフォルダを自由に触ることができます。便利。