获取此API的访问权限并不简单。 This blog post帮助我开始了正确的方向,但是我已经概述了我自己的过程,它不依赖于使用任何外部脚本来工作。步骤如下:
- 获取客户端ID和秘密(一次性)
- 获取刷新令牌(一次性)
- 使用刷新令牌来获得访问令牌(每小时一次) 4使用访问令牌以访问API
每个步骤详细说明如下:
获取客户端ID和密钥
- 转到了Google Developer's console
- 转到您的项目页面
- 选择“同意画面”的左边,并确保该电子邮件地址和产品名称字段设置
- 选择“凭证“,然后选择”创建新客户端ID“
- 将应用程序类型设置为”Web应用程序“并将”授权重定向URI“设置为
https://localhost
。您无需更改授权JavaScript起源。
- 单击“创建客户端ID”并记录结果的客户端ID和客户端密钥。
获取刷新令牌
在Web浏览器,输入以下URL(替代CLIENT_ID修正值): https://accounts.google.com/o/oauth2/auth?scope=https://www.googleapis.com/auth/androidpublisher&response_type=code&access_type=offline&redirect_uri=https://localhost&client_id=XXXX
接受授权出现
任何请求
然后您将被重定向到这样的URL:
https://localhost/?code=4/k0TenvwICIgmBoQOazJy4_EnJr6-.clLqtp_vVAIbEnp6UAPFm0GASPqQigI
复制此网址的后半部分
使用wget来把这段代码转换成刷新令牌代码;替代CODE,CLIENT_ID和CLIENT_SECRET
wget --debug --post-data="grant_type=authorization_code&code=CODE&client_id=CLIENT_ID&client_secret=CLIENT_SECRET&redirect_uri=https://localhost" https://accounts.google.com/o/oauth2/token
所得JSON文件将包含一个的access_token和refresh_token。记录refresh_token值
获取访问令牌
- 发送POST请求来https://accounts.google.com/o/oauth2/token与设置以下字段(替代REFRESH_TOKEN,CLIENT_ID,CLIENT_SECRET)
- grant_type = refresh_token
- refresh_token = REFRESH_TOKEN
- client_id = CLI ENT_ID
- client_secret = CLIENT_SECRET
你会得到一个包含该的access_token将是很好的一小时JSON字符串。
使用访问令牌才能API请求
取从
https://www.googleapis.com/androidpublisher/v1.1/applications/PACKAGENAME/inapp/SKU/purchases/PURCHASETOKEN
包含访问令牌的Authorization头,如:
Authorization: Bearer ya29.1.AADtN_WoM4-4Fb1voFL-emcUWluijCzwvc9Z-FYM9SPvK03HCbGkdROJTVVPSLHK2IlVJQ
你也可能能够通过t他访问令牌作为HTTP查询参数,例如
https://www.googleapis.com/androidpublisher/v1.1/applications/PACKAGENAME/inapp/SKU/purchases/PURCHASETOKEN?authorization_token=AUTHTOKEN
检查HT有关Google库的解决方案,请访问http://stackoverflow.com/a/24264696/165708。 –