package com.azimo.tool.publisher;
import com.google.api.client.auth.oauth2.Credential;
import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.json.JsonFactory;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.services.androidpublisher.AndroidPublisher;
import com.google.api.services.androidpublisher.AndroidPublisherScopes;
import java.io.File;
import java.util.Collections;
/**
* Created by F1sherKK on 18/01/17.
*/
public class AndroidPublisherBuilder {
public HttpTransport newTrustedTransport() throws Exception {
return GoogleNetHttpTransport.newTrustedTransport();
}
public JsonFactory newJacksonFactory() throws Exception {
return JacksonFactory.getDefaultInstance();
}
public Credential authorizeWithServiceAccount(String serviceAccountEmail,
String credentialsPath,
HttpTransport httpTransport,
JsonFactory jsonFactory) throws Exception {
return new GoogleCredential.Builder()
.setTransport(httpTransport)
.setJsonFactory(jsonFactory)
.setServiceAccountId(serviceAccountEmail)
.setServiceAccountScopes(Collections.singleton(AndroidPublisherScopes.ANDROIDPUBLISHER))
.setServiceAccountPrivateKeyFromP12File(new File(credentialsPath))
.build();
}
public AndroidPublisher build(HttpTransport transport,
JsonFactory jsonFactory,
Credential credential,
String applicationName) {
return new AndroidPublisher.Builder(
transport, jsonFactory, credential).setApplicationName(applicationName)
.build();
}
}