驚くほど簡単な技術系健忘録

驚くほど簡単な技術系健忘録

アプリやWebサービス、RPAを作る上での健忘録を書いていきます。

PythonでGoogleドライブにCSVをアップロードする

qiita.com
こちらの記事を元にGoogleドライブに作成したCSVファイルをアップロードして友達と共有できるようにしてみた。

以下がざっくりとした流れです。
-
1.「google-api-python-client」と「PyDrive」をインストール
2.Google Developers Consoleにアクセスしてプロジェクトを作成
3.「クライアントID」と「クライアントシークレット」を取得
3.Google Drive APIを有効にする
4.「settings.yaml」ファイルを作成
 ※取得した「クライアントID」と「クライアントシークレット」を記入
5.テストコードで実行
 ※実行時に表示されたURLにブラウザでアクセスして承認作業を行い「credentials.json」を作成してアクセストークンを取得
6.実際のプログラムでにアップロード
-

以下にそれぞれのコードを記載します。
yamlファイル

client_config_backend: settings
client_config:
  client_id: <クライアントID>
  client_secret: <クライアントシークレット>

save_credentials: True
save_credentials_backend: file
save_credentials_file: credentials.json

get_refresh_token: True

oauth_scope:
  - https://www.googleapis.com/auth/drive.file
  - https://www.googleapis.com/auth/drive.install

■アップロードコード

from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive

gauth = GoogleAuth()
gauth.CommandLineAuth()
drive = GoogleDrive(gauth)

f = drive.CreateFile({'title': 'test.jpg', 'mimeType': 'image/jpeg'})
f.SetContentFile('test.jpg')
f.Upload()

■実際のアップロードコード

from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive

gauth = GoogleAuth()
gauth.CommandLineAuth()
drive = GoogleDrive(gauth)

folder_id = '******************'  #ブラウザでアップロードしたいフォルダを開いて表示されたURLの最後の部分がフォルダID
f = drive.CreateFile({'title': 'test.csv',
                      'mimeType': 'text/csv',
                      'parents': [{'kind': 'drive#fileLink', 'id':folder_id}]})
f.SetContentFile('test.jpg')
f.Upload()

こんな感じです。詳細は上に乗せているQiitaを見てください。