当前位置: 首页 > 知识库问答 >
问题:

“权限不足:请求的身份验证范围不足”,即使是大多数gerneral范围

幸越泽
2023-03-14

我正在尝试从我的谷歌驱动器下载一个电子表格。我正在遵循这个参考,并且在权限方面有问题。我从https://www.googleapis.com/auth/drive.file开始,得到了这个

"Insufficient Permission: Request had insufficient authentication scopes."

阅读权限文档可以阅读以下内容https://www.googleapis.com/auth/drive.

访问用户所有文件(不包括应用程序数据文件夹)的完整许可范围。

但即使使用这个范围,我仍然得到相同的错误消息。

我的代码是


import io
import pickle
from googleapiclient.discovery import build
from google_auth_oauthlib.flow import InstalledAppFlow
from google.auth.transport.requests import Request
from googleapiclient.http import MediaIoBaseDownload

file_id = "FILE ID"

# If modifying these scopes, delete the file token.pickle.
SCOPES = ['https://www.googleapis.com/auth/drive']

with open('token.pickle', 'rb') as token:
   creds = pickle.load(token)

service = build('drive', 'v3', credentials=creds)

request = service.files().export_media(fileId=file_id, mimeType='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet')

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

共有1个答案

程树
2023-03-14

"权限不足:请求的身份验证范围不足。"

表示您当前使用的登录凭据所包含的范围不足以使用您当前调用的方法

虽然您的代码似乎正在使用https://www.googleapis.com/auth/drive的范围,这足以使用Files.export.

我怀疑发生的情况是,您已经对用户进行了身份验证,并将其登录,并授予了对不同作用域的访问权限(可能是只读的),然后更改代码以包含更高级别的作用域,而忘记了要求您对用户进行代码重新身份验证,因此您当前运行的授权访问将不起作用。

您需要使用此新作用域对代码进行身份验证。

 类似资料:
  • 我已成功完成此处的快速入门演示: https://developers.google.com/drive/api/v3/quickstart/python 我想更进一步,开始上传文件和文件夹。为此,我将范围替换为:SCOPES=['https://www.googleapis.com/auth/drive'] 我也已经把行刑换成了 然后我得到一个错误:GoogleAppClient。错误。Http

  • 我第一次尝试使用Google Firestore,通过Google api身份验证进行身份验证。我要做的第一件事是用几个方法来填充数据库,当我等待批处理任务时,会出现以下错误: 我几乎找不到谷歌认证连接firestore的方法。首先,我使用google console为我的应用程序提供的密码使用此方法进行身份验证: 使用在我的google控制台中为应用程序配置的相同作用域(我在同一应用程序中使用g

  • null 所用程序: 获取身份验证响应后创建Google analytics service对象。/li> 脚本: null

  • 我试图获取Youtube评论,但它抛出了这个异常 - {“Google.api.Requests.RequestError\r\n权限不足:请求的身份验证作用域不足。[403]\r\nErrors[\r\n\tMessage[权限不足:申请的身份验证范围不足。]位置[-]原因:[UnficificientPermissions]域[全局]\r\r\m\n”} 凭证源代码- 这是它抛出异常的行- v

  • 这是我为Google Sheets API编写的代码。我有这是我找到的解决此问题的方法,但这并不能解决我的问题。我已经删除了我的.Credentials文件夹,它不提示我登录。

  • 我是新来的,我不是程序员,那我需要你的帮助。 我正在测试说明管理老师和学生在这里找到:https://developers.google.com/classroom/guides/manage-users 我尝试使用身份验证和作用域,就像在PHP QuickStart中一样:https://developers.google.com/classroom/quickstart/php 我成功运行了q