42 lines
1.8 KiB
Java
42 lines
1.8 KiB
Java
package org.gcube.vremanagement;
|
|
|
|
|
|
import com.google.api.client.auth.oauth2.Credential;
|
|
import com.google.api.client.extensions.java6.auth.oauth2.AuthorizationCodeInstalledApp;
|
|
import com.google.api.client.extensions.jetty.auth.oauth2.LocalServerReceiver;
|
|
import com.google.api.client.googleapis.auth.oauth2.GoogleAuthorizationCodeFlow;
|
|
import com.google.api.client.googleapis.auth.oauth2.GoogleClientSecrets;
|
|
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
|
|
import com.google.api.client.json.jackson2.JacksonFactory;
|
|
import com.google.api.client.util.store.MemoryDataStoreFactory;
|
|
import com.google.api.services.sheets.v4.SheetsScopes;
|
|
|
|
import java.io.IOException;
|
|
import java.io.InputStream;
|
|
import java.io.InputStreamReader;
|
|
import java.security.GeneralSecurityException;
|
|
import java.util.Arrays;
|
|
import java.util.List;
|
|
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
public class GoogleAuthorizeUtil {
|
|
|
|
|
|
public static Credential authorize() throws IOException, GeneralSecurityException {
|
|
InputStream in = GoogleAuthorizeUtil.class.getResourceAsStream("/client_secret_313756532685-gelce2afulcgdirkqe06n0trehhijet5.apps.googleusercontent.com.json");
|
|
GoogleClientSecrets clientSecrets = GoogleClientSecrets.load(JacksonFactory.getDefaultInstance(), new InputStreamReader(in));
|
|
|
|
List<String> scopes = Arrays.asList(SheetsScopes.SPREADSHEETS);
|
|
|
|
GoogleAuthorizationCodeFlow flow = new GoogleAuthorizationCodeFlow.Builder(GoogleNetHttpTransport.newTrustedTransport(), JacksonFactory.getDefaultInstance(), clientSecrets, scopes).setDataStoreFactory(new MemoryDataStoreFactory())
|
|
.setAccessType("offline").build();
|
|
Credential credential = new AuthorizationCodeInstalledApp(flow, new LocalServerReceiver()).authorize("user");
|
|
|
|
return credential;
|
|
}
|
|
|
|
|
|
|
|
} |