我正在尝试检查用户是否安装了我的市场应用
from oauth2client.client import SignedJwtAssertionCredentials
import json
from httplib2 import Http
from apiclient.discovery import build
fname = 'my-creds.json'
scope = [
'https://www.googleapis.com/auth/appsmarketplace.license'
]
applicationId='12345678'
customerId='mydomain.com'
json_key = json.load(open(fname))
credentials = SignedJwtAssertionCredentials(json_key['client_email'], json_key['private_key'], scope)
http_auth = credentials.authorize(Http())
appsmarket = build('appsmarket', 'v2', http=http_auth)
response = appsmarket.customerLicense().get(applicationId=applicationId, customerId=customerId).execute()
print response
我在与Google控制台中的应用程序相同的项目中创建了一个服务帐户。
但我一直在
googleapiclient.errors.HttpError: <HttpError 403 when requesting https://www.googleapis.com/appsmarket/v2/customerLicense/471879773528/ashish%40noodletools.com?alt=json returned "Not authorized to access the application ID">
答案 0 :(得分:-1)
您是否在安全部分向您所在域的授权API客户端添加服务帐户? 在此处查看将域范围的权限委派给服务帐户:https://developers.google.com/identity/protocols/OAuth2ServiceAccount
要将域范围的权限委派给服务帐户,Google Apps域的管理员必须完成以下步骤:
您的应用程序现在有权以域中的用户身份进行API调用(以及#34;模仿&#34;用户)。当您准备进行授权的API调用时,请指定要模拟的用户。