Google bigquery 使用我的最终用户凭据创建BigQuery adwords传输

Google bigquery 使用我的最终用户凭据创建BigQuery adwords传输,google-bigquery,Google Bigquery,我试图从python SDK创建google广告传输,但我遇到了一个奇怪的问题。 要创建转入BigQuery,您的GCP帐户应具有BigQuery的管理员角色,并且还应具有AdWords帐户的读取权限。起初,我们手动创建传输,但现在我们必须使用pythonsgooglecloudbigquerydatatransfer包来实现它。问题是,这段代码将运行生产服务器,该服务器中已存在一个服务帐户作为GOOGLE\u APPLICATION\u凭据,因此我无法以这种方式添加最终用户帐户凭据。此外,我们

我试图从python SDK创建google广告传输,但我遇到了一个奇怪的问题。 要创建转入BigQuery,您的GCP帐户应具有BigQuery的管理员角色,并且还应具有AdWords帐户的读取权限。起初,我们手动创建传输,但现在我们必须使用pythons
googlecloudbigquerydatatransfer
包来实现它。问题是,这段代码将运行生产服务器,该服务器中已存在一个服务帐户作为
GOOGLE\u APPLICATION\u凭据
,因此我无法以这种方式添加最终用户帐户凭据。此外,我们不能为GoogleAds提供对服务帐户的只读访问。是否有方法使用最终用户凭据从代码创建BQ传输,或者是否有方法为最终用户帐户创建/生成密钥文件

注意-我尝试使用使用应用程序默认gcloud命令生成的密钥文件,其抛出的
服务帐户信息不是预期格式,缺少字段token\u uri、client\u email。
错误


注意-我遇到了OAuth流,只是想知道如果没有它是否可以完成。

我建议检查文档摘要,以便使用

-并使用json文件配置python客户端:

key_path = "path/to/service_account.json"
credentials = service_account.Credentials.from_service_account_file(
    key_path, scopes=["https://www.googleapis.com/auth/cloud-platform"],
)

client = bigquery.Client(credentials=credentials, project=credentials.project_id,)
此外,如果有帮助,请使用验证应用程序的方法,为此,请执行以下步骤:

-身份验证并调用API,如下所示:

最后,请参考用户帐户、身份验证和密码管理文档的最佳实践,以正确实施您的应用程序

appflow = flow.InstalledAppFlow.from_client_secrets_file(
    "client_secrets.json", scopes=["https://www.googleapis.com/auth/bigquery"]
)