web-dev-qa-db-ja.com

ターミナルを使用してGoogleドライブからフォルダをダウンロードする方法

端末を使用してGoogleドライブからフォルダをダウンロードしたいのですが?それを行う方法はありますか?私はこれを試しました:

$ wget "https://drive.google.com/folderview?id=0B-Zc9K0k9q-WWUlqMXAyTG40MjA&usp=sharing"

しかし、このテキストファイルをダウンロードしています:folderview?id=0B-Zc9K0k9q-WdEY5a1BCUDBaejQ&usp=sharing。端末からグーグルドライブフォルダをダウンロードする方法はありますか?

64
user22180

次のコマンドを使用して、公開共有ファイルをダウンロードできました。

$ wget --no-check-certificate 'https://docs.google.com/uc?export=download&id=FILEID' -O FILENAME

ここで、FILEIDは実際のファイルIDに置き換える必要があります。 FILENAMEは、ダウンロードが保存されるパス/ファイル名です。

Fileidの代わりにfolderidを使用することはできません。次のHTML <div id="entry-0B0jxxycBojSwVW...が見つかるフォルダビューでビューソースを使用しました。 0Bで始まる文字列はファイルIDでした。

50
wimh

大きすぎるGoogleドライブファイルの場合、「Googleはウイルススキャンを提供できません」というエラーメッセージが表示されますが、これが私が使用した解決策です。

まず、ここでファイルをダウンロードしてみます(上記の手順に従います)。

$ wget --save-cookies cookies.txt --keep-session-cookies --no-check-certificate 'https://docs.google.com/uc?export=download&id=FILEID' -O- | sed -rn 's/.*confirm=([0-9A-Za-z_]+).*/Code: \1\n/p'

次に、コードを取得したら(Webページに出力され、上記のsedを使用して出力されます)、次のURLを使用します。

$ wget --load-cookies cookies.txt 'https://docs.google.com/uc?export=download&confirm=CODE_FROM_ABOVE&id=FILEID'

追加 -O FILENAMEをファイルに書き込む場合は、前のwgetステートメントにファイル名を指定します。

23

Goで書かれた drive と呼ばれる新しいオープンソースのマルチプラットフォームクライアントは、非常に優れており、フル機能を備えており、活発に開発されています。

Pullコマンドは、ローカルに存在しないGoogleドライブからデータをダウンロードし、Googleドライブに存在しないローカルデータを削除します。引数なしで実行して、現在のパスからすべてのファイルを取得します。

$ drive pull

マッチによるプルもサポートされています

$ cd ~/myDrive/content/2015
$ drive pull --matches vines docx

その他の例については、上記のリンクを参照してください。これらは氷山の一角にすぎません。

11
Utgarda

Ubuntu 17.04リポジトリには、rcloneという巨大なプログラムがあります。

$ Sudo apt update && Sudo apt install rclone

$ rclone config --> than follow the steps to setup your gdrive

これで、rclone copyを実行して、必要なすべてのものを同期できます。プロジェクトはあらゆる種類のクラウドをサポートしています。f.e.:

$ rclone sync /home/<usrname>/Desktop/yourfolder gdrivename:yourfolder

[1]:https://rclone.org

(私は約600 GBをアップロードし、rcloneを使用して数時間で1 TBをgdriveからgdriveへ、gdriveからubuntuへ、そしてubuntuからgdriveへと転送しました。

https://forum.rclone.org/t/can-copy-between-google-drive-accounts-without-download-and-upload-files/969/8

9
III

wgetは直接リンクのみを処理できますが、ここでは主な問題ではありません。 Googleドライブでは、ファイルをダウンロードする前に認証する必要があります。つまり、ファイルをダウンロードするにはWebブラウザーを使用する必要があります。端末にはいくつかのウェブブラウザがあります lynx がその例です。

(誰でもダウンロードできるように)ファイルを一般公開で共有することを選択した場合は、多数のGoogleドライブパーマリンクサービスのいずれかを使用できます。これらはwgetで動作するリンクを生成するはずだと思います。情報を検索したときに見つけた2つのリストを次に示します。 http://gdriveurl.com/http://gdurl.com/

Linuxを実行していると仮定すると、Googleドライブ用のオープンソース client があり、調べる価値があります。

7
arnefm

オープンソースのLinux/Unixコマンドラインツール gdrive を使用できます。

インストールするには:

  1. ダウンロード バイナリ。お使いのアーキテクチャに適したものを選択します(例:_gdrive-linux-x64_)。

  2. パスにコピーします。

    _Sudo cp gdrive-linux-x64 /usr/local/bin/gdrive;
    Sudo chmod a+x /usr/local/bin/gdrive;
    _

それを使用するには:

  1. GoogleドライブフォルダのIDを確認します。そのためには、drive.google.com Webクライアントを使用して、ダウンロードするフォルダ内に移動します。ブラウザーのアドレスバーでURLを確認すると、_https://drive.google.com/drive/folders/0B7_OwkDsUIgFWXA1B2FPQfV5S8H_のように表示されます。最後の_/_の後ろの文字列を取得して、クリップボードにコピーします。これがフォルダのIDです。

  2. フォルダーをダウンロードします。もちろん、次のコマンドでは代わりにフォルダーのIDを使用します。

    _gdrive download --recursive 0B7_OwkDsUIgFWXA1B2FPQfV5S8H
    _

ツールは最初の使用時に、Google Drive APIへのアクセス権限を取得する必要があります。そのため、ブラウザでアクセスする必要のあるリンクが表示され、次に、ツールにコピーして貼り付けるための確認コードが表示されます。その後、ダウンロードが自動的に開始されます。進行状況インジケータはありませんが、ファイルマネージャまたは2番目のターミナルで進行状況を確認できます。

出典:Tobiによるコメント stackoverflow.comの質問。 あそこにある私の同様の答え から適応された答え。

6
tanius

firefoxを使用している場合は、cligetアドオンをインストールしてみてください。プログラムをダウンロードするすべてのファイルについて、そのファイルをダウンロードするためのcurl、wget、またはaria2の直接リンクを表示します。私はそれを使用して、ssh経由で他のマシンにファイルをダウンロードします。リモートコンピューターに直接ダウンロードしてから自分のコンピューターからそのファイルをアップロードする方がはるかに高速だからです。これは、dropbox、gdriveなどでも機能します。

6
lazar

以下からバイナリをダウンロード link

chmod +x <binary>
./drive download id

確認コードのリンクが生成されます。リンクをクリックして、gdriveへのアクセスを許可し、ブラウザから確認コードをコピーします。貼り付けます。

わたしにはできる

4
Aspire