带有服务帐户的JWTAssertionCredentials失败,asn1没有足够的数据错误

时间:2014-01-06 03:41:25

标签: python google-api-python-client

尝试将SignedJwtAssertionCredentials()与google服务帐户一起使用时,我在一台Windows 2008服务器计算机上收到以下错误,但在本地Windows 7计算机上没有收到此错误。

Error: [('asn1 encoding routines', 'ASN1_D2I_READ_BIO', 'not enough data')]

在将p12密钥文件传递给SignedJwtAssertionCredentials()之前,我正在按如下方式读取它。

    with open(path_to_key_file, 'r') as f:
        private_key = f.read()

1 个答案:

答案 0 :(得分:7)

解决方案是以这种方式读取文件时使用二进制模式。注意'b'

    with open(path_to_key_file, 'rb') as f:
        private_key = f.read()