web-dev-qa-db-ja.com

Powershellでファイルをダウンロードする

次のGoogleドキュメントはCSVにエクスポートされ、標準のWebブラウザーを使用して自動的にダウンロードされます: https://docs.google.com/spreadsheets/d/1wDD_Xm8IQYuYNefv9cOJ_7afTLImHgYA05pfN3qY63E/export?format=csv

Powershellを使用してこのファイルをダウンロードしようとしましたが、成功しませんでした。 Invoke-Webrequest、Start-BitsTransferを使用して、webrequestオブジェクトを使用しようとしましたが、運はありませんでした。

編集:URLを変更しました。

11
JustAGuy

Invoke-WebRequestには、結果をファイルに保存するパラメーターが付属しています:-OutFile

Invoke-WebRequest URL -OutFile c:\file.ext

このようなリクエストを送信する前に認証が必要な場合:

Invoke-WebRequest URL /* whatever is neccesary to login */ -SessionVariable MySession
Invoke-WebRequest URL -WebSession $MySession

ログインが発生するフォームのレイアウトを決定するには、Invoke-WebRequests戻りオブジェクトを使用できます。 HTML上のフォームとフィールドに関する情報を収集します(Windowsのみの場合があります)。ログインのマイル数は、Two-Factor-Authがアクティブかどうかなどによって異なります。おそらく、認証を必要としないファイルへのシークレットリンクを作成することができます。または、Googleで何らかの種類のプライベートアクセストークンを作成し、リクエストと一緒に認証ヘッダーを送信することもできます。

28
TGlatzer