【问题标题】:uploading files to google drive api using python使用python将文件上传到google drive api
【发布时间】:2017-03-02 20:18:05
【问题描述】:

我正在尝试使用 python 将两个文本文件上传到谷歌驱动器。 下面是我遇到异常的代码,我使用的是 v2 版本的驱动 api。

FILES = (('textDoc1' , False),('textDoc2' , True))
for filename, convert in FILES:
    metadata = {'title' : filename}
    res = service.files().insert(convert=convert,body=metadata,media_body=filename,fields='mimeType,exportLinks').execute()
    if res:
        print('Uploaded "%s" (%s)' % (filename,res['mimeType']))

获取错误是

C:\Users\LENOVO\Desktop\Python Classes>python quickstart.py
Traceback (most recent call last):
File "quickstart.py", line 78, in <module>
main()
File "quickstart.py", line 67, in main
        res=service.files().insert(convert=convert,body=metadata,media_body=filename,fields='text').execute()

文件“C:\Python27\lib\site-packages\googleapiclient\discovery.py”,第 802 行,在方法中 引发 UnknownFileType(media_filename) googleapiclient.errors.UnknownFileType: textDoc1

【问题讨论】:

  • mimetypes.add_type("application/vnd.android.package-archive", ".apk")
  • @Crt 在discovery.py的哪里添加这段代码?你能在这里详细说明吗?
  • 您是否尝试将其包含在您上面发布的代码中?在for 循环之前
  • NameError: "global name 'mimetypes' is not defined" 我认为应该在系统级别添加?
  • @AshishBainade mimetypes 是一个标准模块。导入 mimetypes

标签: python google-api drive


【解决方案1】:

以下代码有效:)

FILES = ['textDoc1','textDoc2','textDoc3','textDoc4','textDoc5','textDoc6' ]
for filename in FILES:
    media = MediaFileUpload(filename + '.txt', mimetype='text/plain')
    body = {'title': filename}
    print (filename)

    res = service.files().insert(media_body=media, body=body).execute()
    if res:
        print('Uploaded "%s" (%s)' % (filename,res['mimeType']))

【讨论】:

    猜你喜欢
    • 2022-12-20
    • 1970-01-01
    • 2020-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-06
    • 1970-01-01
    相关资源
    最近更新 更多