首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >木星笔记本中使用pygsheets的身份验证错误

木星笔记本中使用pygsheets的身份验证错误
EN

Stack Overflow用户
提问于 2021-12-13 06:59:20
回答 1查看 221关注 0票数 0

我试图在木星笔记本中使用pyghsheets,但我无法让它工作,而同一段代码在ipython中工作得很好。

代码语言:javascript
复制
from pathlib import Path
import pygsheets

creds = Path(r"/path/to/client_secret.json")

gc = pygsheets.authorize(client_secret=creds)

book = gc.open_by_key("__key__of__sheet__")
wks = book.worksheet_by_title("Sheet1")
wks.clear(start="A2")

当从ipython内部调用时,每件事情都可以正常工作,而在木星笔记本中,我得到的是

代码语言:javascript
复制
RefreshError: ('invalid_grant: Token has been expired or revoked.', {'error': 'invalid_grant', 'error_description': 'Token has been expired or revoked.'})

我在同一个conda环境中运行这两个部分。任何关于如何缩小问题(和解决方案)的建议都是非常欢迎的!

EN

回答 1

Stack Overflow用户

发布于 2021-12-13 09:22:58

事实证明,我的木星笔记本的当前工作目录与我普通的ipython不一样。现在,pygsheets在当前工作目录中存储用于与Google进行身份验证的令牌。如果该目录中的.json文件无效,身份验证将失败。

您可以添加一个参数credentials_directory=...来指定以前验证过的令牌文件。

我最终得到的解决方案是

代码语言:javascript
复制
gc = pygsheets.authorize(client_secret=creds, credentials_directory=creds.parent)

这样,令牌和凭据文件就在同一个目录中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70330934

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档