使用Python将base64编码的google服务帐户密钥转换为JSON文件

2024-10-04 07:35:53 发布

您现在位置:Python中文网/ 问答频道 /正文

你好,我正在尝试转换一个google服务帐户JSON密钥(包含在文件中名为privateKeyData的base64编码字段中)foo.json文件-更多上下文here)到实际的JSON文件中(我需要这种格式,因为ansible只接受它)

在foo.json文件文件是使用这个googlepython api method获得的

我尝试做的事情(虽然我使用的是python)也描述了this线程,顺便说一句,这个线程对我不起作用(在OSx和Linux上尝试过)。在

#!/usr/bin/env python3

import json
import base64

with open('/tmp/foo.json', 'r') as f:
    ymldict = json.load(f)

b64encodedCreds = ymldict['privateKeyData']

b64decodedBytes = base64.b64decode(b64encodedCreds,validate=True)

outputStr = b64decodedBytes
print(outputStr)

#issue
outputStr = b64decodedBytes.decode('UTF-8')
print(outputStr)

收益率

^{pr2}$

我想我已经没有主意了,现在花了一天多的时间在这上面:(

我做错什么了?在


Tags: 文件importjsonfoogoogle帐户线程print
1条回答
网友
1楼 · 发布于 2024-10-04 07:35:53

你的base64解码逻辑在我看来不错。您面临的问题可能是由于字符编码不匹配造成的。调用create(您的foo.json文件文件)可能没有用UTF-8编码。检查响应头的Content-Type字段。应该是这样的:

Content-Type: text/javascript; charset=Shift_JIS

尝试使用内容类型中使用的编码解码base64解码字符串

^{pr2}$

相关问题 更多 >