【问题标题】:PyDrive Create folder in Google Drive - Error as AttributeError: 'GoogleDrive' object has no attribute 'filesPyDrive 在 Google Drive 中创建文件夹 - 错误为 AttributeError:“GoogleDrive”对象没有属性“文件”
【发布时间】:2020-12-15 10:07:03
【问题描述】:

尝试根据日期使用 PyDrive 在现有文件夹中创建文件夹,但由于 'GoogleDrive' 对象没有属性'files',我不断收到错误消息 Documentation

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

gauth = GoogleAuth()
gauth.LoadCredentialsFile("token.txt")

if gauth.credentials is None:
    gauth.GetFlow()
    gauth.flow.params.update({'access_type': 'offline'})
    gauth.flow.params.update({'approval_prompt': 'force'})
    gauth.LocalWebserverAuth()
elif gauth.access_token_expired:
    gauth.Refresh()
else:
    gauth.Authorize()
gauth.SaveCredentialsFile("token.txt")  
drive = GoogleDrive(gauth)

file_metadata = {'name': 'Test','mimeType': 'application/vnd.google-apps.folder'}
file = drive.files().create(body=file_metadata).execute()
print('Folder ID: %s' % file.get('id'))

但我收到错误消息,因为“GoogleDrive”对象没有属性“文件””

是不是我做错了什么?

【问题讨论】:

    标签: python google-drive-api pydrive


    【解决方案1】:

    在我的案例中起作用的是使用不同的身份验证方式:

    from httplib2 import Http
    from googleapiclient.discovery import build
    from oauth2client.service_account import ServiceAccountCredentials
    
    SCOPES = ["https://www.googleapis.com/auth/drive"]
    PATH_TO_SERVICE_KEYS = "/path/to/service/keys.json"
    credentials = ServiceAccountCredentials.from_json_keyfile_name(PATH_TO_SERVICE_KEYS, scopes=SCOPES)
    http_auth = credentials.authorize(Http())
    drive = build("drive", "v3", http=http_auth)
    

    这一次,它没有这个错误。

    drive = GoogleDrive(gauth)
    
    file_metadata = {"name": "Test", "mimeType": "application/vnd.google-apps.folder"}
    file = drive.files().create(body=file_metadata).execute()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多