From 3df4bd32c99761fdb4cc22b6792dd7e8ec0ace24 Mon Sep 17 00:00:00 2001 From: Josh Radcliff Date: Wed, 25 Sep 2024 11:20:15 -0400 Subject: [PATCH] Set scopes of credentials read from JSON. This is required for certain use cases including impersonated service account credentials. --- .../data/samples/QuickstartJsonCredentialsSample.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/google-analytics-data/src/main/java/com/google/analytics/data/samples/QuickstartJsonCredentialsSample.java b/google-analytics-data/src/main/java/com/google/analytics/data/samples/QuickstartJsonCredentialsSample.java index b3dcf67..73903b9 100644 --- a/google-analytics-data/src/main/java/com/google/analytics/data/samples/QuickstartJsonCredentialsSample.java +++ b/google-analytics-data/src/main/java/com/google/analytics/data/samples/QuickstartJsonCredentialsSample.java @@ -69,7 +69,10 @@ static void sampleRunReport(String propertyId, String credentialsJsonPath) throw // Explicitly use service account credentials by specifying // the private key file. GoogleCredentials credentials = - GoogleCredentials.fromStream(new FileInputStream(credentialsJsonPath)); + GoogleCredentials.fromStream(new FileInputStream(credentialsJsonPath)) + .createScoped( + "https://www.googleapis.com/auth/analytics.readonly", + "https://www.googleapis.com/auth/analytics"); BetaAnalyticsDataSettings betaAnalyticsDataSettings = BetaAnalyticsDataSettings.newBuilder()