首页 > 解决方案 > BigQuery 中的 Heisenberg 错误“invalid_grant”?

问题描述

我使用多台计算机、笔记本电脑和服务器,用于在同一个帐户上运行 BigQuery。现在使用一台计算机,我收到了使用 Python pandas 运行 bigquery 脚本的错误,pd.read_gbq这样

import pandas as pd
pd.read_gbq(query='''select  1''', project_id=7777777, dialect='legacy')

invalid_grant: Bad Request', '{\n  "error" : "invalid_grant",\n  "error_description" : "Bad Request

我得到了几个星期,但没有得到其他人,因此称之为海森堡错误,不确定是否是由我使用许多计算机的问题引起的。

如何解决 BigQuery invalid_grant 错误?python 版本是否错误client_secrets.json(我在本地找不到)?

标签: pythonpandasgoogle-bigquery

解决方案


身份验证有多种方式,我在评论中提供了服务帐户的解决方案。

服务帐号

您可以在此处创建服务帐户,此处为说明。然后,将 read_gbq 与参数一起使用,使得private_key

import pandas as pd
from google.cloud import bigquery
client = bigquery.Client.from_service_account_json('BQ.json')
a=pd.read_gbq(query='select 1', project_id='', dialect='standard', private_key='BQ.json')
print(a)

它最初无法在没有客户端的情况下工作,from google.cloud import bigquery但在第一次成功连接后,它也开始在没有客户端的情况下工作。


推荐阅读