pythonでローカルにあるフォルダーをGoogle Driveにアップロードしたいです。
フォルダー例
フォルダー1階層 C:\Users\test\Documents\google drvie\test\ アップロードしたいフォルダー フォルダー名:upload C:\Users\test\Documents\google drvie\test\upload ※uploadのフォルダーには フォルダー・ファイルの階層まだあります。 uploadの中にある全てのフォルダー・ファイルをアップロードしたいです。
下記のスクリプトで行いましたが、フォルダーごとでアップロードできないです。
ファイルのみであればアップロードできます。
フォルダーごとでアップロードすると下記のアクセス権限のエラーが表示されます。
もし分かる方がいましたら、教えていただけると幸いです。
エラー内容
PermissionError: [Errno 13] Permission denied: 'C:\\Users\\test\\Documents\\google drvie\\test\\upload'.
参考ページ
Python, PyDriveでGoogle Driveのフォルダ作成、ファイル移動、一括処理
PythonでGoogle Driveにファイルをアップロードする
コード
from pydrive.drive import GoogleDrive from pydrive.auth import GoogleAuth import os #Googleサービスを認証 gauth = GoogleAuth() #資格情報ロードするか、存在しない場合は空の資格情報を作成 gauth.LoadCredentialsFile("mycreds.txt") #Googleサービスの資格情報がない場合 if gauth.credentials is None: #ユーザーから認証コードを自動的に受信しローカルWebサーバーを設定 gauth.LocalWebserverAuth() #アクセストークンが存在しないか、期限切れかの場合 elif gauth.access_token_expired: #Googleサービスを認証をリフレッシュする gauth.Refresh() #どちらにも一致しない場合 else: #Googleサービスを承認する gauth.Authorize() #資格情報をtxt形式でファイルに保存する gauth.SaveCredentialsFile("mycreds.txt") #Googleドライブの認証処理 drive = GoogleDrive(gauth) #アップロードするフォルダパス指定 path = r'C:\Users\test\Documents\google drvie\test' #GOOGLE DRIVEにUPするファイルID folder_id='1J8TXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' #for文によるループ処理(繰り返し処理) for x in os.listdir(path): #GoogleDriveFileオブジェクト作成 #f = drive.CreateFile({'title' : x}) f = drive.CreateFile({"parents": [{"id": folder_id},]}) #ファイルのタイトル f['title'] = x #ローカルのファイルをセットしてアップロード print(f) f.SetContentFile(os.path.join(path,x)) print(f) #Googleドライブにアップロード f.Upload() print(f) f = None
お手数ですが、よろしくお願い致します。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。