diff --git a/CHANGELOG.md b/CHANGELOG.md index 4006ac30..a677be26 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +### [0.11.9](https://github.com/googleapis/java-analytics-data/compare/v0.11.8...v0.11.9) (2022-03-29) + + +### Dependencies + +* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.9.0 ([#459](https://github.com/googleapis/java-analytics-data/issues/459)) ([19ff7fb](https://github.com/googleapis/java-analytics-data/commit/19ff7fb0e2100a7e71d27ce8163540419594a5c2)) + ### [0.11.8](https://github.com/googleapis/java-analytics-data/compare/v0.11.7...v0.11.8) (2022-03-22) diff --git a/README.md b/README.md index a3ea9026..c3444c1a 100644 --- a/README.md +++ b/README.md @@ -22,20 +22,20 @@ If you are using Maven, add this to your pom.xml file: com.google.analytics google-analytics-data - 0.11.7 + 0.11.8 ``` If you are using Gradle without BOM, add this to your dependencies ```Groovy -implementation 'com.google.analytics:google-analytics-data:0.11.7' +implementation 'com.google.analytics:google-analytics-data:0.11.8' ``` If you are using SBT, add this to your dependencies ```Scala -libraryDependencies += "com.google.analytics" % "google-analytics-data" % "0.11.7" +libraryDependencies += "com.google.analytics" % "google-analytics-data" % "0.11.8" ``` ## Authentication @@ -81,6 +81,7 @@ Samples are in the [`samples/`](https://github.com/googleapis/java-analytics-dat | --------------------------- | --------------------------------- | ------ | | Quickstart Json Credentials Sample | [source code](https://github.com/googleapis/java-analytics-data/blob/main/samples/snippets/src/main/java/com/example/analytics/QuickstartJsonCredentialsSample.java) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/java-analytics-data&page=editor&open_in_editor=samples/snippets/src/main/java/com/example/analytics/QuickstartJsonCredentialsSample.java) | | Quickstart Sample | [source code](https://github.com/googleapis/java-analytics-data/blob/main/samples/snippets/src/main/java/com/example/analytics/QuickstartSample.java) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/java-analytics-data&page=editor&open_in_editor=samples/snippets/src/main/java/com/example/analytics/QuickstartSample.java) | +| Run Report Sample | [source code](https://github.com/googleapis/java-analytics-data/blob/main/samples/snippets/src/main/java/com/example/analytics/RunReportSample.java) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/java-analytics-data&page=editor&open_in_editor=samples/snippets/src/main/java/com/example/analytics/RunReportSample.java) | diff --git a/google-analytics-data-bom/pom.xml b/google-analytics-data-bom/pom.xml index 4e6cbcd4..2a2e988d 100644 --- a/google-analytics-data-bom/pom.xml +++ b/google-analytics-data-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.analytics google-analytics-data-bom - 0.11.8 + 0.11.9 pom com.google.cloud google-cloud-shared-config - 1.3.0 + 1.3.2 Google Analytics Data BOM @@ -56,17 +56,17 @@ com.google.analytics google-analytics-data - 0.11.8 + 0.11.9 com.google.api.grpc grpc-google-analytics-data-v1beta - 0.11.8 + 0.11.9 com.google.api.grpc proto-google-analytics-data-v1beta - 0.11.8 + 0.11.9 diff --git a/google-analytics-data/pom.xml b/google-analytics-data/pom.xml index 03b8afc8..653edb6a 100644 --- a/google-analytics-data/pom.xml +++ b/google-analytics-data/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.analytics google-analytics-data - 0.11.8 + 0.11.9 jar Google Analytics Data https://github.com/googleapis/java-analytics-data @@ -11,7 +11,7 @@ com.google.analytics google-analytics-data-parent - 0.11.8 + 0.11.9 google-analytics-data diff --git a/grpc-google-analytics-data-v1beta/pom.xml b/grpc-google-analytics-data-v1beta/pom.xml index 80babf13..0cd9ee37 100644 --- a/grpc-google-analytics-data-v1beta/pom.xml +++ b/grpc-google-analytics-data-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-analytics-data-v1beta - 0.11.8 + 0.11.9 grpc-google-analytics-data-v1beta GRPC library for grpc-google-analytics-data-v1beta com.google.analytics google-analytics-data-parent - 0.11.8 + 0.11.9 diff --git a/pom.xml b/pom.xml index 64892f27..d17427b4 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ com.google.analytics google-analytics-data-parent pom - 0.11.8 + 0.11.9 Google Analytics Data Parent https://github.com/googleapis/java-analytics-data @@ -14,7 +14,7 @@ com.google.cloud google-cloud-shared-config - 1.3.0 + 1.3.2 @@ -61,23 +61,23 @@ com.google.analytics google-analytics-data - 0.11.8 + 0.11.9 com.google.api.grpc proto-google-analytics-data-v1beta - 0.11.8 + 0.11.9 com.google.api.grpc grpc-google-analytics-data-v1beta - 0.11.8 + 0.11.9 com.google.cloud google-cloud-shared-dependencies - 2.8.0 + 2.9.0 pom import diff --git a/proto-google-analytics-data-v1beta/pom.xml b/proto-google-analytics-data-v1beta/pom.xml index 3637a5ba..decf9262 100644 --- a/proto-google-analytics-data-v1beta/pom.xml +++ b/proto-google-analytics-data-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-analytics-data-v1beta - 0.11.8 + 0.11.9 proto-google-analytics-data-v1beta PROTO library for proto-google-analytics-data-v1beta com.google.analytics google-analytics-data-parent - 0.11.8 + 0.11.9 diff --git a/samples/snapshot/pom.xml b/samples/snapshot/pom.xml index 48c828b1..95feba66 100644 --- a/samples/snapshot/pom.xml +++ b/samples/snapshot/pom.xml @@ -40,7 +40,7 @@ com.google.analytics google-analytics-data - 0.11.8 + 0.11.9 diff --git a/samples/snippets/src/main/java/com/example/analytics/RunReportSample.java b/samples/snippets/src/main/java/com/example/analytics/RunReportSample.java new file mode 100644 index 00000000..1db677f6 --- /dev/null +++ b/samples/snippets/src/main/java/com/example/analytics/RunReportSample.java @@ -0,0 +1,108 @@ +/* + * Copyright 2022 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.example.analytics; + +/* Google Analytics Data API sample application demonstrating the creation +of a basic report. + +See +https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/properties/runReport +for more information. + +This application demonstrates the usage of the Analytics Data API using service account credentials. + +Before you start the application, please review the comments starting with +"TODO(developer)" and update the code to use correct values. + +To run this sample using Maven: + cd java-analytics-data/samples/snippets + mvn compile + mvn exec:java -Dexec.mainClass="com.example.analytics.RunReportSample" + */ + +// [START analyticsdata_run_report] +import com.google.analytics.data.v1beta.BetaAnalyticsDataClient; +import com.google.analytics.data.v1beta.DateRange; +import com.google.analytics.data.v1beta.Dimension; +import com.google.analytics.data.v1beta.DimensionHeader; +import com.google.analytics.data.v1beta.Metric; +import com.google.analytics.data.v1beta.MetricHeader; +import com.google.analytics.data.v1beta.Row; +import com.google.analytics.data.v1beta.RunReportRequest; +import com.google.analytics.data.v1beta.RunReportResponse; + +public class RunReportSample { + + public static void main(String... args) throws Exception { + /** + * TODO(developer): Replace this variable with your Google Analytics 4 property ID before + * running the sample. + */ + String propertyId = "YOUR-GA4-PROPERTY-ID"; + sampleRunReport(propertyId); + } + + // Runs a report of active users grouped by country. + static void sampleRunReport(String propertyId) throws Exception { + /** + * TODO(developer): Uncomment this variable and replace with your Google Analytics 4 property ID + * before running the sample. + */ + // propertyId = "YOUR-GA4-PROPERTY-ID"; + + // Using a default constructor instructs the client to use the credentials + // specified in GOOGLE_APPLICATION_CREDENTIALS environment variable. + try (BetaAnalyticsDataClient analyticsData = BetaAnalyticsDataClient.create()) { + RunReportRequest request = + RunReportRequest.newBuilder() + .setProperty("properties/" + propertyId) + .addDimensions(Dimension.newBuilder().setName("country")) + .addMetrics(Metric.newBuilder().setName("activeUsers")) + .addDateRanges( + DateRange.newBuilder().setStartDate("2020-09-01").setEndDate("2020-09-15")) + .build(); + + // Make the request. + RunReportResponse response = analyticsData.runReport(request); + printRunResponseResponse(response); + } + } + + // Prints results of a runReport call. + static void printRunResponseResponse(RunReportResponse response) { + // [START analyticsdata_print_run_report_response_header] + System.out.printf("%s rows received%n", response.getRowsList().size()); + + for (DimensionHeader header : response.getDimensionHeadersList()) { + System.out.printf("Dimension header name: %s%n", header.getName()); + } + + for (MetricHeader header : response.getMetricHeadersList()) { + System.out.printf("Metric header name: %s%n", header.getName()); + } + // [END analyticsdata_print_run_report_response_header] + + // [START analyticsdata_print_run_report_response_rows] + System.out.println("Report result:"); + for (Row row : response.getRowsList()) { + System.out.printf( + "%s, %s%n", row.getDimensionValues(0).getValue(), row.getMetricValues(0).getValue()); + } + // [END analyticsdata_print_run_report_response_rows] + } +} +// [END analyticsdata_run_report] diff --git a/samples/snippets/src/test/java/com/example/analytics/RunReportSampleTest.java b/samples/snippets/src/test/java/com/example/analytics/RunReportSampleTest.java new file mode 100644 index 00000000..48e3ca22 --- /dev/null +++ b/samples/snippets/src/test/java/com/example/analytics/RunReportSampleTest.java @@ -0,0 +1,54 @@ +/* + * Copyright 2022 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.example.analytics; + +import static com.google.common.truth.Truth.assertThat; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.JUnit4; + +/** Tests for the run report sample. */ +@RunWith(JUnit4.class) +public class RunReportSampleTest { + + private String ga4PropertyId = + System.getProperty("analyticsdata.quickstart.ga4PropertyId", "222596558"); + + private String runSample(String ga4PropertyId) throws Exception { + PrintStream stdOut = System.out; + ByteArrayOutputStream bout = new ByteArrayOutputStream(); + PrintStream out = new PrintStream(bout); + System.setOut(out); + + // Run the test using default system credentials. + RunReportSample.sampleRunReport(ga4PropertyId); + System.setOut(stdOut); + return bout.toString(); + } + + @Test + public void testRunReport() throws Exception { + // Act + String out = runSample(ga4PropertyId); + + // Assert + assertThat(out).contains("Report result:"); + } +} diff --git a/versions.txt b/versions.txt index cf441377..410d7d0d 100644 --- a/versions.txt +++ b/versions.txt @@ -1,6 +1,6 @@ # Format: # module:released-version:current-version -google-analytics-data:0.11.8:0.11.8 -grpc-google-analytics-data-v1beta:0.11.8:0.11.8 -proto-google-analytics-data-v1beta:0.11.8:0.11.8 +google-analytics-data:0.11.9:0.11.9 +grpc-google-analytics-data-v1beta:0.11.9:0.11.9 +proto-google-analytics-data-v1beta:0.11.9:0.11.9