2016年4月1日金曜日

Google Drive のファイル共有状況を一括出力する

Google Driveでファイル共有を多数していると、誰に共有したか分からなくなってくるものです。 「to: 共有相手」などでも検索できますが、こう一覧表示させたくなりませんか。そこでそういったことができないかなと検索してたどり着いたのが
でした。しかし、すでにGoogle API Consoleも新しくなっており、このままではやり方が分からず戸惑ったので纏めておきます。なお、このツール自体は私が作ったものではないので動作させた結果についての責任は負いかねます。あくまで動作させた検証結果のみ備忘録として残しておきます。


な感じでExcelとして保存できるという感じです。

以下、MacOS 10.10.5で試しています。
git, bundle コマンドが必要になります。

Step 0. git, bundle コマンドをインストール


アプリケーション > ユーリティティ > ターミナルを起動し

git
bundle 
をタイプしてReturnキーを押して「Command not found.」と言われたらコマンド入っていないのでインストールしましょう。

gitは、https://git-scm.com/ より Macインストーラーをダウンロードしてインストールすることで、 /usr/local/git/bin/git にインストールされます。パスも設定されるため、一度ターミナルを終了して、起動しなおせば gitコマンドは使えるようになっているでしょう

念のため
git --version

と叩いて、インストールしたバージョンに合致することを確認しておいてください。

bundle の方はちょっと面倒なので、ググってインストール方法を探してみてください。


Step 1. Google API Console での操作


1. プロジェクトを作成



よりログインし、「プロジェクトを作成」しましょう。
既存プロジェクトを使ってもいいですが、どこに何をいれたか分かるように整理しておいたほうがいいでしょう。今回は Google Driveがらみなのでそれにちなんだ名前にしておきます。


2.  Drive APIを有効にする


API Managerの概要より、Drive APIのリンクを開きます。


3. 認証情報の作成とダウンロード


API Managerの認証情報より、認証情報作成ボタンをクリックし「ウィザードで選択」を選択します。

そして、下記の設定をします。

使用するAPI:Drive API
API を呼び出す場所:その他のUI(Windows、CLIツールなど)
アクセスするデータの種類:ユーザーデータ


そして、「必要な認証情報」ボタンをクリックします。

次に、クライアントIDを作成します。
名前はなんでもいいのですが、ここでは「Shared Files」にしておきます。


そして「クライアントIDの作成」ボタンをクリックします。

次に、OAuth 2.0同意画面を設定します。

メールアドレス:現在ログイン中のGoogleアカウント
ユーザーに表示するサービス名:Google Drive


としておきます。そして「次へ」ボタンをクリックします。
そして「ダウンロード」ボタンで「認証情報」をダウンロードします。


ダウンロードファイルは「client_id.json」です。
これを盗まれると、Google Driveへアクセスされちゃいますので気をつけましょう。

終わったら「完了」ボタンをクリックしましょう。

2. Google Driveより共有しているファイル一覧を生成!


ターミナルを起動し、

mkdir shared-files
cd shared-files
git clone https://github.com/morimorihoge/google-drive-permission-search.git
cd google-drive-permission-search
open .

で開いたフォルダに、先ほどダウンロードした認証情報「client_id.json」を移動します。
そして「client_secrets.json」に名前変更しておいてください。

以上で、ユーザーホームディレクトリ直下に

shared-files
 ┗ google-drive-permission-search
   ┣ コード本体
   ┗ client_secrets.json

のようなフォルダ構成になっているはずです。
google-drive-permission-search フォルダにて

bundle

とすると必要なライブラリ等が自動インストールされます。
そして

bundle ./google-drive-permission-search.rb --type excel -v

で、最初の1度のみ Googleアカウントへのアクセス許可画面がでますので、「許可」をします。そうすれば、ガリガリとExcelファイル(results.xls)が生成されていきます。



他にもオプションはあるようで、それは
を参考になさるとよいかなと思います。

2016年4月1日 @kimipooh

0 件のコメント:

コメントを投稿