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 키를 사용하여이 시간을) 만들려고 할 때

  • 나는 같은 오류가 발생합니다.
  • 나는 이 아니며 서비스 계정에 대한 위임 된 도메인 차원의 액세스 권한이 있습니다. 나는 어떤 이유로해야하나요?
  • 내가 성공적으로 inappproducts.list

답변

0

다른 호출에게 API에을 할 수 그래서, 무슨 일이 있었 이유는 내가 사용하던 purchaseToken가 잘못해서였다.

유효하지 않은 토큰의 경우 "토큰 유효하지 않은"오류 (또는 유사한 것)가 발생한다고 생각하여 그 이유가 있다고 생각하지 않았습니다. 결과적으로 Google에서 제공 한 응답은 거의 일치하지 않습니다 (404는 유효하지 않은 토큰으로도 제공 될 수 있음).