public Optional<Credential> load() { Properties properties = new Properties(); try { File file = getAuthenticationFile(options); if(!file.exists() || !file.canRead()) { LOGGER.log(Level.FINE, "Cannot find or read properties file. Returning empty credentials."); return Optional.empty(); } properties.load(new FileReader(file)); HttpTransport httpTransport = new NetHttpTransport(); JsonFactory jsonFactory = new JacksonFactory(); GoogleCredential credential = new GoogleCredential.Builder().setJsonFactory(jsonFactory) .setTransport(httpTransport).setClientSecrets(OAuth2ClientCredentials.CLIENT_ID, OAuth2ClientCredentials.CLIENT_SECRET).build(); credential.setAccessToken(properties.getProperty(PROP_ACCESS_TOKEN)); credential.setRefreshToken(properties.getProperty(PROP_REFRESH_TOKEN)); return Optional.of(credential); } catch (IOException e) { throw new JDriveSyncException(JDriveSyncException.Reason.IOException, "Failed to load properties file: " + e.getMessage(), e); } }
JacksonFactory jsonFactory = new JacksonFactory(); GoogleCredential credential = new GoogleCredential.Builder() .setClientSecrets(clientId, clientSecret) .setTransport(httpTransport) .setJsonFactory(jsonFactory)
private Credential getNewOAuth2Credential() throws OAuthException { GoogleAuthorizationCodeFlow authorizationFlow = getAuthorizationFlow(); String authorizeUrl = authorizationFlow.newAuthorizationUrl().setRedirectUri(CALLBACK_URL).build(); System.out.println("\n**ACTION REQUIRED** Paste this url in your browser" + " and authenticate using your **AdWords Admin Account**: \n\n" + authorizeUrl + '\n'); // Wait for the authorization code. System.out.println("Type the code you received on the web page here: "); try (BufferedReader reader = new BufferedReader(new InputStreamReader(System.in, StandardCharsets.UTF_8))) { String authorizationCode = reader.readLine(); // Authorize the OAuth2 token. GoogleAuthorizationCodeTokenRequest tokenRequest = authorizationFlow.newTokenRequest(authorizationCode); tokenRequest.setRedirectUri(CALLBACK_URL); GoogleTokenResponse tokenResponse = tokenRequest.execute(); // Create the credential. Credential credential = new GoogleCredential.Builder() .setClientSecrets(clientId, clientSecret) .setJsonFactory(new JacksonFactory()) .setTransport(new NetHttpTransport()) .build() .setFromTokenResponse(tokenResponse); return credential; } catch (IOException e) { throw new OAuthException("An error occured obtaining the OAuth2Credential", e); } }
builder.setTransport(HTTP_TRANSPORT); builder.setJsonFactory(JSON_FACTORY); builder.setClientSecrets(clientId, clientSecret); builder.addRefreshListener(new CredentialRefreshListener() { @Override
/** * Return the stored user credential, if applicable, or fall back to the Application Default Credential. * * @return The com.google.api.client.auth.oauth2.Credential object. */ public Credential getCredential() { if (hasStoredCredential()) { HttpTransport httpTransport; try { httpTransport = GoogleNetHttpTransport.newTrustedTransport(); } catch (IOException | GeneralSecurityException e) { throw new RuntimeException("Could not create HTTPS transport for use in credential creation", e); } return new GoogleCredential.Builder() .setJsonFactory(JacksonFactory.getDefaultInstance()) .setTransport(httpTransport) .setClientSecrets(getClientId(), getClientSecret()) .build() .setRefreshToken(getRefreshToken()); } return CredentialFactory.getApplicationDefaultCredential(); }
/** * Retrieve OAuth 2.0 credentials. * * @return OAuth 2.0 Credential instance. * @throws IOException */ private Credential getCredentials() throws IOException { String code = tokenField.getText(); HttpTransport transport = new NetHttpTransport(); JacksonFactory jsonFactory = new JacksonFactory(); String CLIENT_SECRET = "EPME5fbwiNLCcMsnj3jVoXeY"; // Step 2: Exchange --> GoogleTokenResponse response = new GoogleAuthorizationCodeTokenRequest( transport, jsonFactory, CLIENT_ID, CLIENT_SECRET, code, REDIRECT_URI).execute(); // End of Step 2 <-- // Build a new GoogleCredential instance and return it. return new GoogleCredential.Builder() .setClientSecrets(CLIENT_ID, CLIENT_SECRET) .setJsonFactory(jsonFactory).setTransport(transport).build() .setAccessToken(response.getAccessToken()) .setRefreshToken(response.getRefreshToken()); }
@Beta private static GoogleCredential fromStreamUser(GenericJson fileContents, HttpTransport transport, JsonFactory jsonFactory) throws IOException { String clientId = (String) fileContents.get("client_id"); String clientSecret = (String) fileContents.get("client_secret"); String refreshToken = (String) fileContents.get("refresh_token"); if (clientId == null || clientSecret == null || refreshToken == null) { throw new IOException("Error reading user credential from stream, " + " expecting 'client_id', 'client_secret' and 'refresh_token'."); } GoogleCredential credential = new GoogleCredential.Builder() .setClientSecrets(clientId, clientSecret) .setTransport(transport) .setJsonFactory(jsonFactory) .build(); credential.setRefreshToken(refreshToken); // Do a refresh so we can fail early rather than return an unusable credential credential.refreshToken(); return credential; }
/** * Builds the OAuth 2.0 credential for the user with a known authToken * * @param authToken the last authentication token * @return the new OAuth2 {@link Credential} */ private Credential buildOAuth2Credential(String authToken) { return new GoogleCredential.Builder() .setClientSecrets(clientId, clientSecret) .setJsonFactory(new JacksonFactory()) .setTransport(new NetHttpTransport()) .build() .setRefreshToken(authToken); }
String account = properties.get("oauthAccount"); String clientId = properties.get("oauthClientId"); String secret = properties.get("oauthSecret"); File privateKey = getCertficateFile(); GoogleCredential.Builder builder = new GoogleCredential.Builder(); builder.setTransport(new NetHttpTransport()); builder.setServiceAccountId(account); builder.setJsonFactory(new GsonFactory()); builder.setClientSecrets(clientId, secret); builder.setServiceAccountScopes(Arrays.asList("https://www.googleapis.com/auth/bigquery")); builder.setServiceAccountPrivateKeyFromP12File(privateKey); GoogleCredential googleBigQueryCredential = builder.build(); Bigquery bigquery = new Bigquery.Builder(new NetHttpTransport(), new GsonFactory(), googleBigQueryCredential).setApplicationName("myAppName") .build();
private GoogleCredential getGoogleCredential(GoogleTokenResponse tokenResponse) { return new GoogleCredential.Builder() .setJsonFactory(JSON_FACTORY) .setTransport(TRANSPORT) .setClientSecrets(clientID, clientSecret).build() .setFromTokenResponse(tokenResponse); }
private Credential authorize(String clientId, String clientSecret) { // authorize return new GoogleCredential.Builder() .setJsonFactory(jsonFactory) .setTransport(transport) .setClientSecrets(clientId, clientSecret).build(); } }
private GoogleCredential generateCredentialFromClientSecrets() { GoogleCredential credential = new GoogleCredential.Builder() .setTransport(httpTransport) .setJsonFactory(new JacksonFactory()) .setClientSecrets(clientId, clientSecret) .setTokenServerEncodedUrl(tokenServerUrl) .build(); credential.setRefreshToken(refreshToken); return credential; }
private Credential authorize(String clientId, String clientSecret, Collection<String> scopes) throws Exception { // authorize return new GoogleCredential.Builder() .setJsonFactory(jsonFactory) .setTransport(transport) .setClientSecrets(clientId, clientSecret) .build(); }
private GoogleCredential generateCredentialFromClientSecrets() { GoogleCredential credential = new GoogleCredential.Builder() .setTransport(httpTransport) .setJsonFactory(new JacksonFactory()) .setClientSecrets(clientId, clientSecret) .setTokenServerEncodedUrl(tokenServerUrl) .build(); credential.setRefreshToken(refreshToken); return credential; }