Получите NameError при выполнении примера кода Drive API - PullRequest
0 голосов
/ 07 сентября 2018

Я объединил пример кода из Загрузка документов Google с Python quickstart.py.Когда я пытаюсь запустить файл, я получаю следующее сообщение об ошибке:

Traceback (most recent call last):
  File "C:\Users\Greenseek\Desktop\drive\quickstart.py", line 45, in <module>
    main()
  File "C:\Users\Greenseek\Desktop\drive\quickstart.py", line 37, in main
    fh = io.BytesIO()
NameError: name 'io' is not defined

Я совершенно новичок в этом, я понятия не имею, почему произошла эта ошибка.

Файл I 'm выполняет:

from __future__ import print_function
from googleapiclient.discovery import build
from httplib2 import Http
from oauth2client import file, client, tools

# If modifying these scopes, delete the file token.json.
SCOPES = 'https://www.googleapis.com/auth/drive.metadata.readonly'

def main():
    """Shows basic usage of the Drive v3 API.
    Prints the names and ids of the first 10 files the user has access to.
    """
    store = file.Storage('token.json')
    creds = store.get()
    if not creds or creds.invalid:
        flow = client.flow_from_clientsecrets('credentials.json', SCOPES)
        creds = tools.run_flow(flow, store)
    service = build('drive', 'v3', http=creds.authorize(Http()))

    # Call the Drive v3 API
    results = service.files().list(
        pageSize=10, fields="nextPageToken, files(id, name)").execute()
    items = results.get('files', [])

    if not items:
        print('No files found.')
    else:
        print('Files:')
        for item in items:
            print('{0} ({1})'.format(item['name'], item['id']))



    file_id = '1ZdR3L3qP4Bkq8noWLJHSr_iBau0DNT4Kli4SxNc2YEo'
    request = service.files().export_media(fileId=file_id,
                                             mimeType='application/pdf')
    fh = io.BytesIO()
    downloader = MediaIoBaseDownload(fh, request)
    done = False
    while done is False:
        status, done = downloader.next_chunk()
        print( "Download %d%%." % int(status.progress() * 100))

if __name__ == '__main__':
    main()
...