我在一个json
文件中有一个密钥,并且我正在尝试将此文件输入Google Playstore的授权协议中。下面显示的是我尝试过的内容:
#authorization key
config = {
"type": "abc",
"project_id": "abc",
"private_key_id": "123",
"private_key": "-----BEGIN PRIVATE KEY----[REDACTED]\n-----END PRIVATE KEY-----\n",
"client_email": "abc@service-account.iam.gserviceaccount.com",
"client_id": "345",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://accounts.google.com/o/oauth2/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/cert",
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/reporting%service-account.iam.gserviceaccount.com"
}
#Put auth key into json file
dbutils.fs.put("Temp/123.json",json.dumps(config))
#Feed authorization key into Google Cloud Storage (GCS) account.
path='Temp/123.json'
storage_client = google.cloud.storage.Client.from_service_account_json(path)
但是会引发以下错误:
ValueError:无法反序列化关键数据。 信息,require = ['client_email','token_uri'])
我在做什么错了?
答案 0 :(得分:0)
错误的原因似乎是私钥的格式错误。
尝试使用其他密钥;您可以在控制台中创建它,转到“ IAM&admin”->“服务帐户”-> [帐户],然后在其中编辑帐户并单击“创建密钥”按钮。
此外,您似乎正在使用cryptography
软件包中的old version。