Google API Python客户端授权错误路径,如何重新关联正确GDrive?
如何让Google Drive API重新授权关联正确的云端硬盘账号
别担心,新手遇到这种授权串号的问题太正常啦!我来一步步教你搞定:
问题根源
第一次授权时你选了错误的Google账号,授权信息会被存在本地的缓存文件里,所以每次运行代码都会自动复用这个旧授权。要重新关联正确账号,核心就是删掉这个缓存文件,再走一遍授权流程。
步骤1:找到并删除本地授权缓存文件
Google Drive API的OAuth2授权会生成一个叫token.json的缓存文件(如果你用的是官方示例代码的话),里面存着旧账号的授权信息。
- 先看你的代码里有没有类似这段的内容:
这里的creds = None # The file token.json stores the user's access and refresh tokens, and is # created automatically when the authorization flow completes for the first time. if os.path.exists('token.json'): creds = Credentials.from_authorized_user_file('token.json', SCOPES)token.json就是你要找的缓存文件,找到它所在的文件夹,直接删掉就行。 - 如果你不确定文件位置,就看你的Python脚本运行时的当前工作目录(一般和脚本文件在同一个文件夹里),去那里找找看。
步骤2:重新运行授权代码
删掉旧的token.json后,再次运行你的Python脚本:
- 正常情况下会自动弹出浏览器,让你选择要授权的Google账号,这次一定要选正确的那个!
- 跟着浏览器里的提示走,允许应用访问你的Google Drive权限(放心,只要是你自己的应用,权限是可控的)。
- 授权完成后,脚本会自动生成新的
token.json,之后你的代码就会关联到正确的云端硬盘和文件夹啦。
额外小提示(针对新手)
- 如果运行代码后没弹出浏览器,控制台里会出现一个链接,复制这个链接到浏览器打开,完成授权后会得到一串验证码,把验证码粘贴回控制台就搞定了。
- 如果之前下载功能正常,那你的代码权限(
SCOPES参数)应该没问题,不用额外调整。 - 如果你用的是服务账号(不是个人账号授权),那得更换服务账号的密钥文件,还要确保这个服务账号被添加到正确云端硬盘文件夹的共享成员里(给它读写或只读权限)。不过看你的描述应该是个人OAuth授权,前面的步骤就足够解决问题啦。
内容的提问来源于stack exchange,提问作者Zac
相关产品推荐
相关产品推荐

