0
我的問題類似於this one。但是,我使用帶服務帳戶的API Java Client Library,從我的服務器調用API。Google Play開發者API - 400無效值 - InAppPurchases
我的代碼如下this指南,這很簡單。但是,我似乎無法爲我的請求得到適當的錯誤。這是我建立我的AndroidPublisher
:凡從開發者控制檯,在服務帳戶產生的JSON
val credential = GoogleCredential.fromStream(FileInputStream(
"/path/to/json"
)).createScoped(Collections.singleton(AndroidPublisherScopes.ANDROIDPUBLISHER))
androidPublisher = AndroidPublisher.Builder(httpTransport, JSON_FACTORY, credential)
.setApplicationName(packageName)
.build()
。這是我如何提出要求:
androidPublisher.purchases().subscriptions().get(packageName, "valid-sku", "invalid-token").execute()
我的訂閱ID有效,但我的令牌無效。我期望在響應中出現諸如「無效標記」之類的錯誤。不過,我得到的是:
com.google.api.client.googleapis.json.GoogleJsonResponseException: 400 Bad Request
{
"code" : 400,
"errors" : [ {
"domain" : "global",
"message" : "Invalid Value",
"reason" : "invalid"
} ],
"message" : "Invalid Value"
}
那是一個普通的錯誤,因爲無效的令牌或者是認證問題?如果它是一個身份驗證問題,我該如何解決它?如果這是一個無效的令牌問題,我該怎麼知道?
一些詳細信息:
- 我試圖讓從API瀏覽器,以及該呼叫(這次使用客戶端ID和API密鑰,而不是服務帳戶)時,得到同樣的錯誤。
- 我有而不是委派域服務帳戶的訪問權限。出於某種原因我需要嗎?
- 我可以成功地使其他電話的API,如
inappproducts.list