Когда вы создаете свой AdsenseApiClient в Java, он принимает три аргумента - транспорт, 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);
}