LinuxのCUIからGoogle Driveへ専用ツールでデータ送信
使うツールはgdrive-cli、githubにデータがあるので取ってくる
git clone https://github.com/tom-dignan/gdrive-cli.git
pythonでできているので、pythonのインストールとライブラリ追加が必要になる pythonはyumやaptで入る、追加ライブラリはpipで ※pipがない場合はyumやaptでpython-setuptoolsとpython-pipとpython-gflagsをインストール
pip install google-api-python-client httplib2 argparse
追加インストールができたら次は、gdrive-cliの設定 次、設定ファイル作ります Google コンソールに接続 https://code.google.com/apis/console/
Create>適当に名前を付けて(GDRIVEとか)>Create Project Services>Drive SDKをON API Access>Create an OAuth2.0 client ID Product Nameに「GDRIVE」とでも名前を付けて>Next Installed Application、Otherを選択して>Create client ID 認証を通して、クライアントIDとクライアントシークレットをとります
https://accounts.google.com/o/oauth2/auth?client_id=[CLIENT_ID]&response_type=code&redirect_uri=urn:ietf:wg:oauth:2.0:oob&scope=https://www.googleapis.com/auth/drive
[CLIENT_ID]のところに先に取得したClient ID:の値を入れて、ブラウザでアクセスすると、承認画面が出るので、承認すると コードが取得できますので、これをメモ 設定ファイルは以下のように
vim $HOME/.gdrive_client_secrets { “web”: { “client_id” : “取得したクライアントID”, “client_secret”: “取得したクライアントシークレット”, “redirect_uris”: [“URIsurn:ietf:wg:oauth:2.0:oob”, “http://tomdignan.com/projects/gdrive-cli/”], “auth_uri”: “https://accounts.google.com/o/oauth2/auth”, “token_uri”: “https://accounts.google.com/o/oauth2/token” } }
接続ツールの初期化
> No client_secrets.json file was found! Exiting. or > Creating database… > done. 設定ファイルがないよー的なメッセージが出るか、DB初期化できたよー的なメッセージが出るはず。 設定がないよと出る場合は設定ファイルがきちんとできているか、パーミッションがユーザのものになっているか確認してください
次、認証を通します
./gdrive-cli –authenticate
何もブラウザを設定していないとW3Mでつなごうとしますが、export BROWSER=”google-chrome”とか書いておくと そのブラウザでつなぎに行きます、jsが使えればtextブラウザでもok(w3m-jsとか) ログインすると、初期化したDBに認証情報が入ります 次、動作テスト
./gdrive-cli –list
とやると、保管されたファイルリストがでます。
gdrive-cli –insert foo.txt “説明(適当に)” none “MIME-TYPE(text/plainとか)” 表示名(foo.txtとか)
とやると、アップロードされます、cURLよりこっちのが簡単かな?