2011-12-10 3 views

答えて

2

あなたは、あなたのAdsenseApiClientをjavaで構築するとき、3つの引数、つまりトランスポート、jsonFactory、およびtransportInitializerを受け取ります。

あなたが探している魔法はイニシャライザにあります。具体的には、accessTokenを引数として使用するトランスポートイニシャライザの一種であるGoogleAccessProtectedResourceがあります。

GoogleAccessProtectedResource transportInitializer = new GoogleAccessProtectedResource(authToken); 
return ew AdsenseApiClient(transport, jsonFactory, transportInitializer); 

もう少し凝っている私のコードは、次のようになります。

private ApiClient createClientForAccessToken(
     final JsonHttpParser parser, HttpTransport transport, final String accessToken) { 
    final AccessProtectedResource accessProtectedResource = 
     new GoogleAccessProtectedResource(accessToken); 
    HttpRequestInitializer transportInitializer = new HttpRequestInitializer() { 
     @Override 
     public void initialize(HttpRequest request) throws IOException { 
     request.addParser(parser); 
     request.setConnectTimeout(CONNECTION_TIMEOUT_MILLIS); 
     request.setReadTimeout(SOCKET_TIMEOUT_MILLIS); 
     request.setEnableGZipContent(true); 
     request.setNumberOfRetries(0); 
     accessProtectedResource.initialize(request); 
     } 
    }; 
    return new AdsenseApiClient(transport, parser.getJsonFactory(), transportInitializer); 
    } 
+0

正確に何が起こったのか分かりません。 AdsenseAPiClientを作成する方法。特別なライブラリが必要ですか?私はすでにすべてのapisクライアントライブラリをインポートするので。それで、あなたが作ったクラスを教えてください。またはそれはクラスのlibrairy?それがうまくいけば作ったんだよね? ありがとう –

関連する問題