SignedJwtAssertionCredentials不起作用

时间:2013-09-11 18:21:49

标签: django google-api-python-client google-apps-marketplace

我完全停止使用Google API Python客户端。我想做一件非常简单的事情。我在Google Apps Marketplace中添加了一个应用,并授权用户访问我的域。

现在,我想配置用户。我试图在没有最终用户的情况下访问Admin SDK。

我使用官方示例代码作为模板 - https://code.google.com/p/google-api-python-client/source/browse/samples/service_account/tasks.py

我收到以下错误: / test-oauth /出错 [('asn1编码例程','ASN1_D2I_READ_BIO','数据不够')]

它出现在Google oauth2客户端代码中 - / fromuth2client/crypt.py in_string,第131行

我正在使用Python 2.7,Django 1.5.2和Google Python API Client 1.2(我添加了pyOpenSSL和pyCrypto)。这是我安装的:

分发(0.6.36)

lxml(3.2.3)

MySQL-python(1.2.4)

numpy(1.7.1)

pip(1.4)

pycrypto(2.6)

pyOpenSSL(0.11)

scikit-learn(0.14.1)

setuptools(0.9.8)

wsgiref(0.1.2)

以下是代码:

def get_google_api_data(请求):

# The 2-LO authorization section
credentials = SignedJwtAssertionCredentials(settings.SOCIAL_AUTH_GOOGLE_OAUTH2_KEY,
                                            settings.SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET,
                   scope='https://www.googleapis.com/auth/admin.directory.user.readonly')
http = httplib2.Http()
http = credentials.authorize(http)

# Initializing the Tasks API service
service = build('admin', 'directory_v1', http=http)

return

有谁可以告诉我为什么我无法连接到该服务?

1 个答案:

答案 0 :(得分:1)

对于初学者:2腿OAuth!= OAuth2
这不是您应该如何使用Admin SDK API。请阅读this以了解OAuth2。

2 Legged OAuth auth is deprecated