-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
docs: add a sample for using minute ranges in realtime reports (#314)
- Loading branch information
Showing
3 changed files
with
104 additions
and
6 deletions.
There are no files selected for viewing
68 changes: 68 additions & 0 deletions
68
packages/google-analytics-data/samples/snippets/run_realtime_report_with_minute_ranges.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
#!/usr/bin/env python | ||
|
||
# Copyright 2022 Google Inc. All Rights Reserved. | ||
# | ||
# 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. | ||
|
||
"""Google Analytics Data API sample application demonstrating the creation of | ||
a realtime report using minute ranges. | ||
See https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/properties/runRealtimeReport#body.request_body.FIELDS.minute_ranges | ||
for more information. | ||
""" | ||
# [START analyticsdata_run_realtime_report_with_minute_ranges] | ||
from google.analytics.data_v1beta import BetaAnalyticsDataClient | ||
from google.analytics.data_v1beta.types import Metric | ||
from google.analytics.data_v1beta.types import MinuteRange | ||
from google.analytics.data_v1beta.types import RunRealtimeReportRequest | ||
|
||
from run_report import print_run_report_response | ||
|
||
|
||
def run_sample(): | ||
"""Runs the sample.""" | ||
# TODO(developer): Replace this variable with your Google Analytics 4 | ||
# property ID before running the sample. | ||
property_id = "YOUR-GA4-PROPERTY-ID" | ||
run_realtime_report_with_minute_ranges(property_id) | ||
|
||
|
||
def run_realtime_report_with_minute_ranges(property_id="YOUR-GA4-PROPERTY-ID"): | ||
"""Runs a realtime report on a Google Analytics 4 property. Dimensions | ||
field is omitted in the query, which results in total values of active users | ||
returned for each minute range in the report. | ||
Note the `dateRange` dimension added to the report response automatically | ||
as a result of querying multiple minute ranges. | ||
""" | ||
client = BetaAnalyticsDataClient() | ||
|
||
request = RunRealtimeReportRequest( | ||
property=f"properties/{property_id}", | ||
metrics=[Metric(name="activeUsers")], | ||
minute_ranges=[ | ||
MinuteRange(name="0-4 minutes ago", start_minutes_ago=4), | ||
MinuteRange( | ||
name="25-29 minutes ago", start_minutes_ago=29, end_minutes_ago=25 | ||
), | ||
], | ||
) | ||
response = client.run_realtime_report(request) | ||
print_run_report_response(response) | ||
|
||
|
||
# [END analyticsdata_run_realtime_report_with_minute_ranges] | ||
|
||
|
||
if __name__ == "__main__": | ||
run_sample() |
27 changes: 27 additions & 0 deletions
27
...ges/google-analytics-data/samples/snippets/run_realtime_report_with_minute_ranges_test.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
# Copyright 2022 Google Inc. All Rights Reserved. | ||
# | ||
# 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. | ||
|
||
import os | ||
|
||
import run_realtime_report_with_minute_ranges | ||
|
||
TEST_PROPERTY_ID = os.getenv("GA_TEST_PROPERTY_ID") | ||
|
||
|
||
def test_run_report_with_multiple_metrics(capsys): | ||
run_realtime_report_with_minute_ranges.run_realtime_report_with_minute_ranges( | ||
TEST_PROPERTY_ID | ||
) | ||
out, _ = capsys.readouterr() | ||
assert "Report result" in out |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters