如何使用使用Python的驱动器API将文件上传到Google驱动器?

迪帕克N

我想使用其API将文件上传到Google驱动器,我正在使用代码

def newer():
    url= 'https://USERNAME:[email protected]/upload/drive/v3/files?uploadType=media'
    data='''{{
      "name":"testing.txt",
    }}'''
    response = requests.post(url, data=data)
    print response.text

但是,我收到如下的响应错误消息。

{“ error”:{“ errors”:[{“ domain”:“ global”,“ reason”:“ authError”,“ message”:“此API不支持HTTP基本认证”,“ locationType”:“标题“,”位置“:”授权“}],”代码“:401,”消息“:”此API不支持HTTP基本认证“}}

还有其他方法可以使用python来完成我的工作。

我是否需要登录Google Cloud来访问用于身份验证令牌或凭据的API

迪帕克N

最后,我了解了如何使用api将文件上传到Google驱动器。

首先,您需要安装python库,该库提供了使用驱动器api的方法。安装库:pip安装google-api-python-client然后编写如下代码。

from __future__ import print_function
from apiclient.discovery import build
from httplib2 import Http
from oauth2client import file, client, tools
from apiclient.http import MediaFileUpload,MediaIoBaseDownload
import io

# Setup the Drive v3 API
SCOPES = 'https://www.googleapis.com/auth/drive.file'
store = file.Storage('credentials.json')
creds = store.get()
if not creds or creds.invalid:
    flow = client.flow_from_clientsecrets('client_secret.json', SCOPES)
    creds = tools.run_flow(flow, store)
drive_service = build('drive', 'v3', http=creds.authorize(Http()))

上面的代码片段是创建对象/变量,使您可以使用正确的凭据进入驱动器。在这里drive_service工作。

文件上传代码如下。

def uploadFile():
    file_metadata = {
    'name': 'fileName_to_be_in_drive.txt',
    'mimeType': '*/*'
    }
    media = MediaFileUpload('Filename_of_your_local_file.txt',
                            mimetype='*/*',
                            resumable=True)
    file = drive_service.files().create(body=file_metadata, media_body=media, fields='id').execute()
    print ('File ID: ' + file.get('id'))

文件ID很重要,因为如果要从驱动器下载文件,则需要文件ID。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用python上传到Google驱动器

如何使用gapi和可恢复的上传将文件上传到Google驱动器?

使用Google Apps脚本将文件从Google驱动器上传到外部API

如何使用multipart使用Postman将文件上传到Google驱动器?

如何使用Google Drive API v3上传到Python中的共享驱动器?

如何使用 Google Drive API V3 将文件上传到 Group Drive(共享驱动器)?

如何通过REST API将文件上传到我自己的Google驱动器

使用Xamarin.Android将文件上传到Google驱动器文件夹

从Java将本地文件上传到Google驱动器

无法将文件上传到Google驱动器-使用C#

使用curl将zip文件上传到Google驱动器

使用gdrive将文件上传到google驱动器在crontab上不起作用

如何使用ssis将文件上传到一个驱动器?

如何使用vb.net将文件上传到MS一个驱动器?

如何使用Gapi将图像上传到Google驱动器并做出反应

在 Python 中使用 aiohttp 上传 Google 驱动器文件

如何使用react和node将字符串作为文件上传到Google驱动器

每5秒钟使用python将文本文件上传到Google驱动器

如何使用带有react-native-drive-api-wrapper的react native将图像上传到Google驱动器?

使用Android Studio中的Google Drive API从驱动器下载文件以上传到另一个驱动器

使用Google Apps脚本将文件上传到我的google驱动器(在GOOGLE中无格式)

使用google-colaboratory上传到google驱动器的文件的路径是什么?

将文件上传到 SharePoint,不使用 UNC 或驱动器映射

如何使用python在共享的Google驱动器中上传子文件夹?

无法将多个文件上传到驱动器

Python:使用Pydrive库将自己的文件上传到驱动器中

使用Python将本地驱动器(而非URL)中的照片上传到Facebook粉丝页面

在Google驱动器上创建一个文件夹(如果不存在),然后使用Python脚本将文件上传到该文件夹

使用curl命令通过drive-rest-api将文件上传到Google驱动器中特定文件夹的直接方法