2013-10-08 135 views
4

我目前正在研究一種只使用HTTP請求調用來使用Google購物狀態API的方法,並且我碰到了一堵磚牆。我有一個使用Google Play的應用程序設置,並擁有Google控制檯帳戶的所有權。Google購物狀態API HTTPS請求

基本上,我只想檢查用戶在我的服務器上購買的狀態。我應該使用的唯一信息是購買令牌,產品ID和產品包。

我按照上在developer.android.com/google/play/billing/gp-purchase-status-api.html

這樣做的HTTPS請求調用我試圖做這一切的文檔(產品名稱和實際字符串被替換):

googleapis.com/androidpublisher/v1.1/applications/(com.mctproduct)/inapp/(comprodu.myproduct.product1)/purchases/(myproductpurchasestring) ?access_token =(myaccesstokenstring)

我的迴應總是這樣:

{ 
"error": { 
    "errors": [ 
    { 
    "domain": "androidpublisher", 
    "reason": "developerDoesNotOwnApplication", 
    "message": "This developer account does not own the application." 
    } 
    ], 
    "code": 401, 
    "message": "This developer account does not own the application." 
} 
} 

當投票通過這個HTTP請求調用我的訪問令牌: googleapis.com/oauth2/v1/tokeninfo?access_token=(myaccesstokenstring)

這是我的迴應:

{ 
"issued_to": "12345.apps.googleusercontent.com", 
"audience": "12345.apps.googleusercontent.com", 
"scope": "https://www.googleapis.com/auth/androidpublisher", 
"expires_in": 3319, 
"access_type": "offline" 
} 

所以根據在https://developers.google.com/accounts/docs/OAuth2#webserver的文件,我需要:

  1. 授權自己和檢索刷新訪問令牌,這是從Google API控制檯的API訪問部分中的「Web應用程序的客戶端ID」生成的。我已經做到了。

  2. 使用此訪問令牌進行谷歌API調用的方式有兩種:將字符串附加到HTTP標頭'Authorization',或作爲HTTPS請求的一部分,使用屬性access_token =(mytokenstring)。這部分不適合我,我總是收到未經授權的信息。





我的問題,我的猜測是:是否有可能使用一個簡單的HTTPS請求調用(不包括外部庫的支持),以在檢索購買物品的狀態,而無需用戶交互後端服務器?

我真的很感激任何幫助,大多數其他線程都是關於如何去獲取刷新令牌,但我已經覆蓋了。

回答

1

好的,我在一位同事的幫助下找出了自己的問題。基本上,我的訪問令牌是在未以任何方式鏈接到項目的帳戶下生成的。在生成訪問令牌時使用項目的Google帳戶的所有者是最安全的。

唷!