我的JSON api密钥格式不正确

时间:2017-04-21 10:42:47

标签: google-analytics google-api-python-client

我想向Google Analytics提出服务器到服务器请求。我使用的是Python,webapp2,App Engine。因为我使用App Engine,我已经有了服务帐户,并且我下载了它的API密钥:

{
  "type": "secret",
  "project_id": "secret",
  "private_key_id": "secret",
  "private_key": "secret",
  "client_email": "secret",
  "client_id": "secret",
  "auth_uri": "secret",
  "token_uri": "secret",
  "auth_provider_x509_cert_url": "secret",
  "client_x509_cert_url": "secret"
}

我跟随this tutorial,但get_access_token()会引发错误。在调试库时,我发现代码需要json字段

json_data['_service_account_email'],
scopes=json_data['_scopes'],
private_key_id=json_data['_private_key_id'],
client_id=json_data['client_id'],
user_agent=json_data['_user_agent'],

我做错了什么?我使用了google_api_python_client附带的oauth2client。

1 个答案:

答案 0 :(得分:1)

听起来您正在使用ServiceAccountCredentials.from_json()加载密钥文件。

但是,此构造函数用于序列化ServiceAccountCredentials实例,而不是用于从云控制台下载的密钥文件。

请尝试使用ServiceAccountCredentials.from_json_keyfile_name()