Google驱动器中的PyDrive创建文件夹错误为AttributeError:“Google驱动器”对象没有属性“文件”

2024-05-14 07:10:23 发布

您现在位置:Python中文网/ 问答频道 /正文

试图根据日期使用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”对象没有属性“files”

我做错什么了吗


Tags: 对象fromimporttxt文件夹token属性错误
1条回答
网友
1楼 · 发布于 2024-05-14 07:10:23

在我的案例中,有效的方法是使用不同的身份验证方式:

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()

相关问题 更多 >

    热门问题