ValueError:无法反序列化关键数据

问题描述 投票:0回答:1

我在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": "[email protected]",
            "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:无法反序列化关键数据。 info,require = ['client_email','token_uri'])

我究竟做错了什么?

python json google-cloud-platform google-cloud-storage
1个回答
0
投票

错误的原因似乎是私钥的格式错误。

尝试使用其他密钥;您可以在控制台中创建它,转到“IAM&admin” - >“服务帐户” - > [帐户],然后编辑帐户并单击“创建密钥”按钮。

此外,似乎你正在使用old version包的cryptography

© www.soinside.com 2019 - 2024. All rights reserved.