Android アプリケーションがあり、「Google Play In-app Billing」ライブラリを使用してアプリ内で購入しています。
Purchase Status API (Google Play Android Developer API v1.1) を使用して、バックエンド サーバーで購入を確認する方がよいと読みました。
リフレッシュ トークンの取得方法、それを使用してアクセス トークンを取得する方法、および API の使用方法に関する例を見つけました。
System.getProperties().put("http.proxyHost", "10.12.54.8");
System.getProperties().put("http.proxyPort", "8080");
HttpTransport HTTP_TRANSPORT = new NetHttpTransport();
JsonFactory JSON_FACTORY = new JacksonFactory();
TokenResponse tokenResponse = new TokenResponse();
tokenResponse.setAccessToken(accessToken);
tokenResponse.setRefreshToken(refreshToken);
tokenResponse.setExpiresInSeconds(3600L);
tokenResponse.setScope("https://www.googleapis.com/auth/androidpublisher/v1.1/applications");
tokenResponse.setTokenType("Bearer");
HttpRequestInitializer credential = new GoogleCredential.Builder().setTransport(HTTP_TRANSPORT).setJsonFactory(JSON_FACTORY)
.setClientSecrets(GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET).build().setFromTokenResponse(tokenResponse);
AndroidPublisher publisher = new AndroidPublisher.Builder(HTTP_TRANSPORT, JSON_FACTORY, credential).setApplicationName(GOOGLE_PRODUCT_NAME).build();
AndroidPublisher.Inapppurchases purchases = publisher.inapppurchases();
Get get = purchases.get(GOOGLE_PACKAGE_NAME, ITEM_ID, purchaseToken);
InappPurchase purch = get.execute();
しかし、おそらくプロキシの背後にいるため、Google に接続できません。これらのクラスを使用する場合、プロキシ設定の構成方法がわかりません。
得られたエラーは次のとおりです。
java.net.SocketTimeoutException: 接続タイムアウト
助けてください!