- gdriveの具体的な使い方
- gdriveでOCRを利用する方法
- jupyter notebookからgdriveをつかう
[gdrive] 英語になるが、ここに記述していないサンプルはこちら
#用意
gdrive - for 64bit
Windows7 - 64bit
#導入
githubからダウンロード
Cドライブにgdriveフォルダを作って放り込んでおく。
#使い方
C:\user>cd C:\gdrive
C:\gdrive>
- Googleドライブの中身を知る
C:\gdrive> gdrive list
Id Name Type Size Created
abcdefgabcdefgabcdefgabcdefgabcdefgabcdefgz1 filename1.exe bin 60 Mb 2019-02-11 00:00:00
abcdefgabcdefgabcdefgabcdefgabcdefgabcdefgz2 filename2.exe bin 60 Mb 2019-02-11 00:00:01
abcdefgabcdefgabcdefgabcdefgabcdefgabcdefgz3 filename3 doc 60 Mb 2019-02-11 00:00:02
abcdefgabcdefgabcdefgabcdefgabcdefgabcdefgz4 filename4.exe dir 60 Mb 2019-02-11 00:00:03
#ダウンロード
- ファイル(bin)のダウンロード
C:\gdrive> gdrive download abcdefgabcdefgabcdefgabcdefgabcdefgabcdefgz1
Downloading ファイル名.* -> ファイル名.*
Downloaded abcdefgabcdefgabcdefgabcdefgabcdefgabcdefgz1 at 1000 KB/s, total 60 MB
・ファイル名はつかえない
- ディレクトリのダウンロード
C:\gdrive> gdrive download abcdefgabcdefgabcdefgabcdefgabcdefgabcdefgz4 -r もしくは --recursive
・最後に -r もしくは --recursive オプションをつける必要がある
・ファイル名はつかえない
#アップロード
- ファイルのアップロード
C:\gdrive> gdrive upload ファイル名.*
- ディレクトリのアップロード
C:\gdrive> gdrive upload ディレクトリ名.* -r もしくは --recursive
・最後に -r もしくは --recursive オプションをつける必要がある
#OCRをつかう
txt形式に直接変換することはできない。
あくまでもgoogle document形式となる
C:/gdrive> gdrive import ファイル名.png -p abcdefgabcdefgabcdefgabcdefgabcdefgabcdefgz3
・ファイル名はつかえない
#コマンドラインからgdriveを使う
import subprocess
cmd = "gdrive list"
subprocess.call(cmd, shell=True)
別記事でsubprocessモジュールについていろいろ確認する予定
#使用制限
Failed to get file: googleapi: Error 403: Rate Limit Exceeded, rateLimitExceeded
こういうようなエラーがでることがあるが、GoogleAPIには一日の使用回数に制限がある。
1,000,000,000 回/一日
1000 回/100秒/1人
とのこと。
#細かい設定(query)について
各コマンドにqueryがつかえる。
queryは、ファイル・フォルダに含まれている文字レベルでの検索・操作を可能にする機能。
たとえばこんなことができる。
C:/gdrive> gdrive list -q "name contains 's'"
これはめちゃめちゃ便利。
指定ファイルをダウンロードするときは
C:/gdrive> download query "name contains 's'"
C:/gdrive> gdrive export --mime text/plain abcdefgabcdefgabcdefgabcdefgabcdefgabcdefgz3
mimeの設定についてはこちら
Corresponding MIME typeの列にいろいろと書いてあります。
・HTMLでダウンロードしたいなら、text/htmlとか。
・PDFでダウンロードしたいなら、application/pdfとか。
・エクセルでダウンロードしたいなら、application/vnd.openxmlformats-officedocument.spreadsheetml.sheetとか。
#まとめ、今後
ファイル、フォルダ指定にファイル名
、フォルダ名
が直接つかえないことがあり、そこが一番めんどうだった。
gdrive list命令でIDを取得できるなら、それを使えということか。
バッチファイルでコマンドラインの自動化ができるようなので、今後一連の流れを記述したものを作っていきたい。
#参考
Qiita - Google が提供する API のリクエスト上限数一覧
Qiita - pythonanywhereでファイルのバックアップにGoogleドライブを使う方法
stackoverflow - What is the limit on Google Drive API usage?