実現したいこと
ローカル環境下でPythonを実行し、そこで生成したデータをGoogleドライブ上にアップロードさせる機能を実装したい
前提
業務系WEBシステムにあるデータをPythonを用いてデータを作成します。
そのデータが作成されたら、データ管理をしているGoogleドライブにアップロードします。
現在作成しているものは、それらをひとつのプログラムで実行する処理を作成しているところです。
発生している問題・エラーメッセージ
以下、PowerShell上で実行した結果です。
PS C:\Users\ユーザー名\OneDrive\ドキュメント\MyLesson\python> py test2.py Traceback (most recent call last): File "C:\Users\ユーザー名\OneDrive\ドキュメント\MyLesson\python\test2.py", line 9, in <module> main() File "C:\Users\ユーザー名\OneDrive\ドキュメント\MyLesson\python\test2.py", line 7, in main creds = Credentials.from_authorized_user_file("credentials.json", SCOPES) File "C:\Users\ユーザー名\AppData\Local\Programs\Python\Python310\lib\site-packages\google\oauth2\credentials.py", line 440, in from_authorized_user_file return cls.from_authorized_user_info(data, scopes) File "C:\Users\ユーザー名\AppData\Local\Programs\Python\Python310\lib\site-packages\google\oauth2\credentials.py", line 390, in from_authorized_user_info raise ValueError( ValueError: Authorized user info was not in the expected format, missing fields refresh_token, client_secret, client_id.
該当のソースコード
該当する部分を抽出しました。
Python
1import os.path 2from google.oauth2.credentials import Credentials 3 4SCOPES = ['https://www.googleapis.com/auth/drive.metadata.readonly'] 5 6def main(): 7 creds = Credentials.from_authorized_user_file("credentials.json", SCOPES) 8 9main()
試したこと
公式リファレンスを参考に以下の手順を行いました。
https://developers.google.com/drive/api/quickstart/python?hl=ja
- あらかじめ該当するGCPプロジェクトを作成「MyPython」
- OAuth 2.0 クライアント IDを作成:デスクトップ
- 発行されたjsonをダウンロードし、ファイル名を「credentials.json」に変更
- credentials.jsonを実行するpyファイルと同じフォルダに格納
ここまで行って、認証エラーのようなものが発生しました。
どのように対処すればいいでしょうか?
補足情報(FW/ツールのバージョンなど)
開発環境は以下の通りです。
- Windows11
- Python3.9.7
- Powershell上で起動
Credentials.from_authorized_user_fileが通るようにするにはどうしたらよろしいでしょうか?
ご教授頂けると幸いです。
以上です。
回答2件
あなたの回答
tips
プレビュー