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


59

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

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

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



確認しましたが、Googleスプレッドシートを処理できません。私はスプレッドシートにアクセスする必要があり、これをocamlfuse処理できるので、マウントに関して時間がかかりますが、必要になるたびにダウンロードすることを考えました。しかし、他の選択肢はありません。
user22180 14年

「インターネット上の誰でも見つけることができると表示」に設定したフォルダを設定し、その後、あなたがファイルをダウンロードすることができますwget https://googledrive.com/host/file_idされているあなたのためwget https://googledrive.com/host/0B-Zc9K0k9q-WdEY5a1BCUDBaejQ。ソリューションは、ここで詳細に説明されています
ポールルージュ

時間の経過中にこれに対する新しい答えはありますか?以下に1つのオプションがあります。
マタン

回答:


48

次のコマンドを使用して、パブリック共有ファイルをダウンロードできました。

$ 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です。


4
これは私にとって素晴らしい仕事でした!代わりにdrive.google.comを使用する必要がありました
thouliha

大きなファイルがあるため、Googleウイルススキャナーの警告(スキャンできないこと)が表示され続けました。この問題の解決策が見つかりませんでした。しかし、私は単純に使用できることに気づいたscp(ようにダウンロードの必要性を持っていた)私のサーバーにファイルを転送する
マティアス・

2
これはGoogleドライブではもう機能していません...
loretoparisi

2
これは、大きなファイルでは機能しません。スタックオーバーフローのこの答えは魔法のように動作:stackoverflow.com/a/32742700/4773609
HGスール

1
@HGSur以下の私の答えは、大きなファイルでも機能します。
フランカーズ

22

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ステートメントに追加してファイル名を指定します。


これは魅力のように機能します!--content-disposition wgetを追加すると、ファイルに正しい名前が自動的に付けられます
Waleed Hamra

8

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

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

$ drive pull

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

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

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


1
このツールは2017
-Mateusz Konieczny

はい、それでも動作しますdrive pull 'Colab Notebooks/sorted/models/resnet-101-90.9-max-acc'。ディレクトリ全体をダウンロードするのが最良のソリューションです。他の方法はお尻の痛みです。
Avio

7

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

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

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


ドライブにアクセスしようとすると、lynxが5分以上「リダイレクト」を示しています。「Googleドライブパーマリンク」は大丈夫ですが、みんなと共有したくありません。私が使用しているGriveOcamlfuse、彼らは、スプレッドシートにアクセスすることはできません
user22180

gdriveurlからの「ダウンロード」リンクがwgetで機能することを確認した
ランドール

オープンソースクライアントの提案に関して:そのgdriveクライアントとrcloneと呼ばれる同様のユーティリティを使用した私の経験から、私はrcloneでより良い経験をしました。
7yl4r

7

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

$ sudo apt update && sudo apt install rclone

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

これで、必要なものをすべてコピーして同期することができます。プロジェクトはあらゆる種類のクラウドをサポートしています。fe:

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

[1]:https://rclone.org

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

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


5

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


5

オープンソースの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番目のターミナルで進行状況を確認できます。

出典: stackoverflow.comの質問に対するTobiのコメント。あちらの私の似たような答えから適応された答え


4

以下のリンクからバイナリをダウンロードしてください

chmod +x <binary>
./drive download id

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

わたしにはできる

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.