Включить Bigquery API из кода - PullRequest
0 голосов
/ 27 августа 2018

Я недавно обновил свои Google SDK (клиент, oAuth и т. Д.) С 1,22 до 1,23 , и затем началась проблема.

В этом документе, в FLAG: - enable-cloud-apis В разделе говорится, что некоторые API (включая API Big Query) будут включены по умолчанию, но он не включил эти API и Сервисы, когда ясоздал проект.

Когда я гуглил, я обнаружил библиотеку ServiceUsage , которую можно использовать для этого.

Я использовал следующий код для включения API

HttpTransport transport = GoogleNetHttpTransport.newTrustedTransport();
JsonFactory jsonFactory = new JacksonFactory();

                GoogleCredential googleCredential =
                        GoogleCredential.fromStream(
                                GoogleCloud.class.getResourceAsStream(
                                        "path_to_cred.json"));

                ServiceUsage serviceUsage = new ServiceUsage.Builder(transport, jsonFactory, googleCredential)
                        .setHttpRequestInitializer(
                                request -> {
                                    googleCredential.initialize(request);


                                    int fiveMinutes = 5 * 60 * 1000;

                                    request.setConnectTimeout(fiveMinutes);
                                    request.setReadTimeout(fiveMinutes);
                                })
                        .setApplicationName("App_Name") 
                        .build();

                BatchEnableServicesRequest servicesRequest = new BatchEnableServicesRequest();
                servicesRequest.setServiceIds(ImmutableList.of("bigquery-json.googleapis.com", ...));

                ServiceUsage.Services.BatchEnable batchEnable =
                        serviceUsage.services().batchEnable("projects/project_id", servicesRequest);

Но это не включает API и Сервисы.

Есть мысли?Спасибо

...