我试图使用类似的服务帐户从cmdline访问谷歌云端点
https://code.google.com/p/google-api-python-client/source/browse/samples/service_account/tasks.py
根据示例的说明,我创建了一个clientid + pk12证书,并使用它们通过oauth2client.client模块中的SignedJwtAsertionCredential调用创建凭证.
当我在我的本地devserver上调用我的云端点时,按预期工作,但是当我调用已部署的gae云端点时
Oauth框架用户与oauth令牌用户不匹配.
似乎是对来自user_id_token._set_bearer_user_vars()的oauth.get_client_id(范围)调用失败了.
当我在异常上添加回溯时,它看起来来自_maybe_raise_exception
E 2014-01-02 10:30:53.926 raise NotAllowedError(error_detail)E 2014-01-02 10:30:53.926 NotAllowedError
有没有办法在不更改应用程序的身份验证类型的情况下解决此错误?由于域名限制,似乎不允许请求?
我的目标是在没有用户参与的情况下调用云端点,不确定我是否使用SignedJwtAsertionCredential调用是正确的路径,或者如果可能的话?
附加信息.
端点的身份验证类型设置为"Google App Domain"
端点方法上的user_required为True
当我使用https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=ya29时,从SignedJwtAssertCredential生成的访问令牌是预期的 .
端点在api资源管理器中按预期工作,并且当涉及auth流时.
使用endpoints_proto_datastore库.
python google-app-engine oauth google-cloud-endpoints endpoints-proto-datastore