权限不足错误 403:Google 云端硬盘上传 (Python)

Sub*_*esh 2 python google-drive-api google-api-python-client

我正在尝试使用 Drive API 版本 3 (Python) 访问 Google Drive。列出文件似乎工作正常。尝试上传文件时出现权限不足错误。

我更改了我的范围以授予我脚本的完全权限

SCOPES = 'https://www.googleapis.com/auth/drive'
Run Code Online (Sandbox Code Playgroud)

下面是我用来创建文件的块

file_metadata = {
    'name': 'Contents.pdf',
    'mimeType': 'application/vnd.google-apps.file'
}
media = MediaFileUpload('Contents.pdf',
                        mimetype='application/vnd.google-apps.file',
                        resumable=True)
file = service.files().create(body=file_metadata,
                                    media_body=media,
                                    fields='id').execute()
print ('File ID: %s' % file.get('id'))
Run Code Online (Sandbox Code Playgroud)

我收到此错误消息:

ResumableUploadError: HttpError 403“权限不足”

我不确定这里有什么问题。

Tan*_*ike 5

我认为你的脚本工作正常。从您显示的错误中,我认为需要重新授权访问令牌和刷新令牌。所以请尝试以下流程。

当您授权 using 时client_secret.json,将创建凭证 JSON 文件。在默认的 Quickstart 中,它是在.credentials您的主目录中创建的。

对于您目前的情况,请删除您当前的凭证 JSON 文件client_secret.json,并通过启动您的脚本重新授权。Quickstart 的默认文件名是drive-python-quickstart.json.

这样,范围https://www.googleapis.com/auth/drive反映到访问令牌和刷新令牌,它们用于上传过程。即使完成此流程也出现错误时,请再次在 API 控制台确认 Drive API 是否已启用。

如果这对你没有用,我很抱歉。