2011-12-10 44 views

回答

2

當你在java中構建你的AdsenseApiClient時,它有三個參數 - 一個傳輸,一個jsonFactory和一個transportInitializer。

初始值設定項有你正在尋找的魔法;具體來說,有一個GoogleAccessProtectedResource,它是一種將accessToken作爲參數的傳輸初始值設定項。

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客戶端庫。那麼,讓我知道你創建的班級嗎?還是班級圖書館?如果它是由u den hws創建的,它是否工作? 謝謝 –

相關問題