我正在尝试使用Google+域API为我的GoogleApps域提供圈。我正在根据使用域范围委派https://developers.google.com/+/域/身份验证/委派,我已经成功地将其用于组、用户和日历设置。在API控制台中,我将Google+API和Google+域API添加到API项目中。我已经尝试使用预先存在的密钥,并生成一个新的密钥。当我尝试运行以下代码时:
service_account_email='somelongstring@developer.gserviceaccount.com'
key=file("path/to/keyfile","rb").read()
user_email='someroleaccount@mydomain.com'
SCOPES_PLUS = [
'https://www.googleapis.com/auth/plus.me',
'https://www.googleapis.com/auth/plus.stream.write',
]
credentials = SignedJwtAssertionCredentials(service_account_email, key,
scope=SCOPES_PLUS, sub=user_email)
http = httplib2.Http()
http = credentials.authorize(http)
plus = build(serviceName='plus', version='v1domains', http=http)
我得到
AccessTokenRefreshError: access_denied
当它到达build()调用时。
但是,完全相同的代码(具有不同的作用域和服务)适用于目录服务、groupssettings服务和日历服务。
我尝试过使用角色帐户作为子电子邮件地址,也尝试过使用我自己的(超级管理员)帐户。
有什么想法吗?
您记得在域的控制面板中为新作用域授予服务帐户授权吗?驱动器文档中介绍了该过程。请确保输入Google Plus域范围以及目录和组设置范围,因为任何更改都会覆盖您现有的授权。
我写了一个教程,用Python在谷歌应用引擎上使用新的G+Domains API,它一步一步地解释了每个必要的配置,并提供了一些示例代码:
https://gist.github.com/vircheck/6292176
此外,不要忘记这里的官方快速入门,但请记住,这一点在应用程序引擎上不起作用。