Googleドライブへの一括アップロード・ダウンロード(Gdrive使用)

OCR機能は、Adobe Acrobatにもあるけれど、Googleドライブが今のところ一番精度が高いと思う。

ただ、大量のデータを処理したいときに、一つひとつデータをアップして、右クリックでGoogleドキュメントにしてテキストデータを持ってくるのが面倒くさい。

たまにしか使わないので、gdriveコマンドでコマンドラインから一括操作する方法を毎回忘れてしまう。
今回は設定もやり直したので念のためやったことを備忘録として残しておく。

現時点でのGdriveの最新版は、v3.5.0
v3.5.0をダウンロードした。
https://github.com/glotlabs/gdrive/releases

Google OAuth認証クライアントの設定方法も手順が丁寧に書いてあるので、この通りやるだけだけど、英語なのでちょっと読みづらい。
https://github.com/glotlabs/gdrive/blob/main/docs/create_google_api_credentials.md

 

以下引用+手順の補足。

Create Google API credentials in 50 easy steps

1. Go to Google Cloud Console
https://console.cloud.google.com/へ

2. Create a new project (or select an existing) from the menu
メニューから新しくプロジェクトを作る(または既存のプロジェクトでも)

3. Search for drive api in the search bar and select Google drive api under the marketplace section
検索窓に「drive api」と入力して検索。表示された「Google Drive API」を選択。

4. Click to enable Google Drive API button
「Google Drive API」の画面が表示されるので、「有効にする」ボタンをクリック。

5. Click on the Credentials menu item
左のメニューにある「認証情報」をクリック。

6. Click on the Configure Consent Screen button
「同意画面を構成」ボタンをクリック。

7. Select External user type (Internal is only available for workspace subscribers)
8. Click on the Create button
「外部」を選択し、「作成」ボタンをクリック。

9. Fill out the fields App name, User support email, Developer contact information with your information (keep the other fields empty)
「アプリ名」と「ユーザーサポートメール」を入力。(アプリ名は、他人とかぶりそうにないものにする。)

10. Click the Save and continue button. If you get An error saving your app has occurred try changing the project name to something unique
デベロッパーの連絡先情報欄も入力。「保存して次へ」ボタンをクリック。
「アプリの保存中にエラーが発生しました」というメッセージが表示された場合は、アプリ名を変えて試してみる。

11. Click the Add or remove scopes button
「スコープを追加または削除」ボタンをクリック。

12. Search for google drive api
13.  Select the scopes  …/auth/drive  and  …/auth/drive.metadata.readonly
「Google Drive API」で検索し、「範囲」のところを見て「…/auth/drive」と「…/auth/drive.metadata.readonly」を選択。

14. Click the Update button
「更新」ボタンをクリック。

15. Click the Save and continue button
「保存して次へ」ボタンをクリック。

16. Click the Add users button
「+ADD USERS」ボタンをクリック。

17. Add the email of the user you will use with gdrive
18. Click the Add button until the sidebar disappears
メールアドレスを入力して「追加」ボタンをクリック。

19. Click the Save and continue button
「保存して次へ」ボタンをクリック。

20. Click on the Credentials menu item again
21. Click on the Create credentials button in the top bar and select OAuth client ID
再度左のメニューの「認証情報」をクリックし、「認証情報を作成」をクリックして「OAuth クライアント ID」を選択。

22. Select application type Desktop app and give a name
「アプリケーションの種類」として「デスクトップアプリ」を選択。

23.Click on the Create button
「作成」ボタンをクリック。

24. You should be presented with a Cliend Id and Client Secret
「クライアントID」と「クライアントシークレット」が表示される。

. コマンドラインから、「gdrive account add」と入力
26. Client Id と Client Secretを入力

27. 提示されたURLをブラウザで開き、アプリ名を確認してアカウントを選択。

28.「続行」をクリック。

29.Googleアカウントへのアクセスを許可するためにチェック欄にチェックを入れて「続行」ボタンをクリック。

30.コマンドラインに、「Logged in as “自分のメールアドレス”」と表示されたら設定成功。

31.Googleドキュメントとしてアップロードするときは、コマンドラインから「gdrive files import “ファイル名” 」と入力する。
Googleドライブへのアップロードが成功すると、
ファイルIDは、コマンドラインに「File successfully imported 」の次の行に「id:」として示される。
ちなみに、拡張子「.jpg」は大丈夫だけど、大文字の「.JPG」はダメみたい。

表示されているViewUrlを用いてファイルを確認することもできる。
このUrlは、Googleドライブにアクセスしてファイルをクリックして開いたときに示されるものと同じで、
ここにもファイルIDが示されている。

32.Googleドキュメントとしてダウンロードするときは、コマンドラインから「gdrive files export “ファイルID” “ファイルパス” 」を指定する。
ファイルパスは、ディレクトリ、ファイル名、拡張子を指定する。
ここでは、「test」フォルダの下の「a.txt」というファイルにテキストデータとしてダウンロードしている。

オリジナルのファイル名分かってるんだから、ややこしいファイルIDじゃなくて、オリジナルのファイル名で処理できるようにしてくれないかなぁ。。