2017-02-14 159 views
0

下面是我的代码:谷歌播放API返回“400错误的请求”

public class MyTestCase { 

private static final Log log = LogFactory.getLog(ListApks.class); 

public static void main(String[] args) { 
    try { 
     Preconditions.checkArgument(!Strings.isNullOrEmpty(ApplicationConfig.PACKAGE_NAME), 
       "ApplicationConfig.PACKAGE_NAME cannot be null or empty!"); 

     // Create the API service. 
     final AndroidPublisher service = AndroidPublisherHelper.init(
       ApplicationConfig.APPLICATION_NAME, ApplicationConfig.SERVICE_ACCOUNT_EMAIL); 
     final AndroidPublisher.Edits edits = service.edits(); 

     // Create a new edit to make changes. 
     AndroidPublisher.Edits.Insert editRequest = edits 
       .insert(ApplicationConfig.PACKAGE_NAME, 
         null /** no content */); 
     AppEdit appEdit = editRequest.execute(); 


     Get purchases = service.purchases().products().get(ApplicationConfig.PACKAGE_NAME, "consumer", "bg46378"); 
     System.out.println(purchases); 
     ProductPurchase purchase = purchases.execute(); 

    } catch (IOException | GeneralSecurityException ex) { 
     log.error("Exception was thrown while updating listing", ex); 
    } 
} 
} 

问题是,我不断收到:

SEVERE: Exception was thrown while updating listing 
com.google.api.client.googleapis.json.GoogleJsonResponseException: 400 Bad Request 
{ 
    "code" : 400, 
    "errors" : [ { 
    "domain" : "global", 
    "message" : "Invalid Value", 
    "reason" : "invalid" 
} ], 
"message" : "Invalid Value" 
} 

我不太知道这有什么关系与令牌参数(我将在稍后使用的有效载荷)。

编辑:我意识到我需要把purchaseToken放入GET的token参数。 purchaseToken来自移动客户端的有效载荷。但我仍然得到相同的结果。我放入的purchaseToken看起来像

String pt = "amopiilkhbjihjkfpbobeimo.AO-J1OzmDyihgfHLIPzDWfacU6EVf3rCj7LCbfypeO066DXddCoMgX7UeHesl32HA4K_x6rkYDEMR1e4rfhCYEMcc_8Xx_eySLIZ6BejrH8eJyZ0IhVREa0"; 
+0

有人吗?我一直坚持到我能解决这个问题。我已经尝试了一切从指令,但仍然得到这个错误。只是一个标准的程序,所以我无法弄清楚。 –

回答

0

解决了我自己的问题。只需要做一个复制和粘贴,而不是试图通过视觉复制。通过将购买令牌从客户端应用程序复制到服务器应用程序来进行管理。

相关问题