ifndef NoLib1400401 lib 1400401 endifndef import com.google.api.client.googleapis.auth.oauth2.*; 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.http.javanet.NetHttpTransport; import com.google.api.client.http.HttpTransport; import com.google.api.client.json.JsonFactory; import com.google.api.client.json.jackson2.JacksonFactory; sclass GoogleAccess { GoogleCredential credential; simplyCached HttpTransport transport() ctex { ret GoogleNetHttpTransport.newTrustedTransport(); } simplyCached JsonFactory jsonFactory() ctex { ret JacksonFactory.getDefaultInstance(); } simplyCached GoogleClientSecrets clientSecrets() ctex { temp InputStream in = newFileInputStream(javaxSecretDir("google-botcompany-credentials.json")); ret GoogleClientSecrets.load(jsonFactory(), new InputStreamReader(in)); } GoogleCredential credentialFromTokens(S accessToken, S refreshToken) { ret credential = new GoogleCredential.Builder() .setTransport(transport()) .setJsonFactory(jsonFactory()) .setClientSecrets(clientSecrets()) .build() .setAccessToken(accessToken) .setRefreshToken(refreshToken); } GoogleCredential credentialFromJavaXSecret() ctex { ret GoogleCredential.fromStream( fileInputStream(assertFileExists(javaxSecretDir("google-access.json"))); } }