Google oAuth2 和 Youtube API 的不正确填充错误
Incorrect padding error with Google oAuth2 and Youtube API
我一直在尝试使用 google oAuth2.0 验证我的 django(python 3.4、django 1.9)应用程序以使用 Youtube 数据 API v3.
我有一个用于服务器到服务器身份验证的 JSON 密钥(类型:服务帐户)。
错误源自以下 build() 方法:
client_email = '***@***.iam.gserviceaccount.com'
with open('key.json', 'r+b', 0) as f:
private_key = f.read()
credentials = SignedJwtAssertionCredentials(client_email, private_key,'https://www.googleapis.com/auth/youtube')
http_auth = credentials.authorize(Http())
service = build(str('youtube', 'v3', http=http_auth)
response = service.channels().list(part="id").execute()
我得到的错误是:
不正确的填充异常在
/usr/lib/python3/dist-packages/Crypto/PublicKey/RSA.py in importKey,第 660 行
这是这一行:
der = binascii.a2b_base64(b('').join(lines[1:-1]))
我是 python 和 django 的新手,所以我的调试技巧还没有达到标准。
我没有找到这个问题的答案,但我发现您不能将服务帐户与 YouTube 数据 API v3 一起使用,这使得这个问题没有实际意义。
来源:https://developers.google.com/youtube/v3/guides/authentication
我一直在尝试使用 google oAuth2.0 验证我的 django(python 3.4、django 1.9)应用程序以使用 Youtube 数据 API v3.
我有一个用于服务器到服务器身份验证的 JSON 密钥(类型:服务帐户)。
错误源自以下 build() 方法:
client_email = '***@***.iam.gserviceaccount.com'
with open('key.json', 'r+b', 0) as f:
private_key = f.read()
credentials = SignedJwtAssertionCredentials(client_email, private_key,'https://www.googleapis.com/auth/youtube')
http_auth = credentials.authorize(Http())
service = build(str('youtube', 'v3', http=http_auth)
response = service.channels().list(part="id").execute()
我得到的错误是:
不正确的填充异常在 /usr/lib/python3/dist-packages/Crypto/PublicKey/RSA.py in importKey,第 660 行
这是这一行:
der = binascii.a2b_base64(b('').join(lines[1:-1]))
我是 python 和 django 的新手,所以我的调试技巧还没有达到标准。
我没有找到这个问题的答案,但我发现您不能将服务帐户与 YouTube 数据 API v3 一起使用,这使得这个问题没有实际意义。
来源:https://developers.google.com/youtube/v3/guides/authentication