diff --git a/.kokoro/build.sh b/.kokoro/build.sh index d2141e7e6ca..ffd5da96823 100755 --- a/.kokoro/build.sh +++ b/.kokoro/build.sh @@ -40,6 +40,16 @@ python3 -m pip uninstall --yes --quiet nox-automation python3 -m pip install --upgrade --quiet nox python3 -m nox --version +# If this is a continuous build, send the test log to the FlakyBot. +# See https://github.com/googleapis/repo-automation-bots/tree/master/packages/flakybot. +if [[ $KOKORO_BUILD_ARTIFACTS_SUBDIR = *"continuous"* ]]; then + cleanup() { + chmod +x $KOKORO_GFILE_DIR/linux_amd64/flakybot + $KOKORO_GFILE_DIR/linux_amd64/flakybot + } + trap cleanup EXIT HUP +fi + # If NOX_SESSION is set, it only runs the specified session, # otherwise run all the sessions. if [[ -n "${NOX_SESSION:-}" ]]; then diff --git a/.kokoro/samples/python3.6/periodic-head.cfg b/.kokoro/samples/python3.6/periodic-head.cfg new file mode 100644 index 00000000000..f9cfcd33e05 --- /dev/null +++ b/.kokoro/samples/python3.6/periodic-head.cfg @@ -0,0 +1,11 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +env_vars: { + key: "INSTALL_LIBRARY_FROM_SOURCE" + value: "True" +} + +env_vars: { + key: "TRAMPOLINE_BUILD_FILE" + value: "github/python-pubsub/.kokoro/test-samples-against-head.sh" +} diff --git a/.kokoro/samples/python3.7/periodic-head.cfg b/.kokoro/samples/python3.7/periodic-head.cfg new file mode 100644 index 00000000000..f9cfcd33e05 --- /dev/null +++ b/.kokoro/samples/python3.7/periodic-head.cfg @@ -0,0 +1,11 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +env_vars: { + key: "INSTALL_LIBRARY_FROM_SOURCE" + value: "True" +} + +env_vars: { + key: "TRAMPOLINE_BUILD_FILE" + value: "github/python-pubsub/.kokoro/test-samples-against-head.sh" +} diff --git a/.kokoro/samples/python3.8/periodic-head.cfg b/.kokoro/samples/python3.8/periodic-head.cfg new file mode 100644 index 00000000000..f9cfcd33e05 --- /dev/null +++ b/.kokoro/samples/python3.8/periodic-head.cfg @@ -0,0 +1,11 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +env_vars: { + key: "INSTALL_LIBRARY_FROM_SOURCE" + value: "True" +} + +env_vars: { + key: "TRAMPOLINE_BUILD_FILE" + value: "github/python-pubsub/.kokoro/test-samples-against-head.sh" +} diff --git a/.kokoro/test-samples-against-head.sh b/.kokoro/test-samples-against-head.sh new file mode 100755 index 00000000000..278c5fdb6c0 --- /dev/null +++ b/.kokoro/test-samples-against-head.sh @@ -0,0 +1,28 @@ +#!/bin/bash +# Copyright 2020 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 +# +# https://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. + +# A customized test runner for samples. +# +# For periodic builds, you can specify this file for testing against head. + +# `-e` enables the script to automatically fail when a command fails +# `-o pipefail` sets the exit code to the rightmost comment to exit with a non-zero +set -eo pipefail +# Enables `**` to include files nested inside sub-folders +shopt -s globstar + +cd github/google-api-python-client + +exec .kokoro/test-samples-impl.sh diff --git a/.kokoro/test-samples-impl.sh b/.kokoro/test-samples-impl.sh new file mode 100755 index 00000000000..cf5de74c17a --- /dev/null +++ b/.kokoro/test-samples-impl.sh @@ -0,0 +1,102 @@ +#!/bin/bash +# Copyright 2021 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 +# +# https://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. + + +# `-e` enables the script to automatically fail when a command fails +# `-o pipefail` sets the exit code to the rightmost comment to exit with a non-zero +set -eo pipefail +# Enables `**` to include files nested inside sub-folders +shopt -s globstar + +# Exit early if samples directory doesn't exist +if [ ! -d "./samples" ]; then + echo "No tests run. `./samples` not found" + exit 0 +fi + +# Disable buffering, so that the logs stream through. +export PYTHONUNBUFFERED=1 + +# Debug: show build environment +env | grep KOKORO + +# Install nox +python3.6 -m pip install --upgrade --quiet nox + +# Use secrets acessor service account to get secrets +if [[ -f "${KOKORO_GFILE_DIR}/secrets_viewer_service_account.json" ]]; then + gcloud auth activate-service-account \ + --key-file="${KOKORO_GFILE_DIR}/secrets_viewer_service_account.json" \ + --project="cloud-devrel-kokoro-resources" +fi + +# This script will create 3 files: +# - testing/test-env.sh +# - testing/service-account.json +# - testing/client-secrets.json +./scripts/decrypt-secrets.sh + +source ./testing/test-env.sh +export GOOGLE_APPLICATION_CREDENTIALS=$(pwd)/testing/service-account.json + +# For cloud-run session, we activate the service account for gcloud sdk. +gcloud auth activate-service-account \ + --key-file "${GOOGLE_APPLICATION_CREDENTIALS}" + +export GOOGLE_CLIENT_SECRETS=$(pwd)/testing/client-secrets.json + +echo -e "\n******************** TESTING PROJECTS ********************" + +# Switch to 'fail at end' to allow all tests to complete before exiting. +set +e +# Use RTN to return a non-zero value if the test fails. +RTN=0 +ROOT=$(pwd) +# Find all requirements.txt in the samples directory (may break on whitespace). +for file in samples/**/requirements.txt; do + cd "$ROOT" + # Navigate to the project folder. + file=$(dirname "$file") + cd "$file" + + echo "------------------------------------------------------------" + echo "- testing $file" + echo "------------------------------------------------------------" + + # Use nox to execute the tests for the project. + python3.6 -m nox -s "$RUN_TESTS_SESSION" + EXIT=$? + + # If this is a periodic build, send the test log to the FlakyBot. + # See https://github.com/googleapis/repo-automation-bots/tree/master/packages/flakybot. + if [[ $KOKORO_BUILD_ARTIFACTS_SUBDIR = *"periodic"* ]]; then + chmod +x $KOKORO_GFILE_DIR/linux_amd64/flakybot + $KOKORO_GFILE_DIR/linux_amd64/flakybot + fi + + if [[ $EXIT -ne 0 ]]; then + RTN=1 + echo -e "\n Testing failed: Nox returned a non-zero exit code. \n" + else + echo -e "\n Testing completed.\n" + fi + +done +cd "$ROOT" + +# Workaround for Kokoro permissions issue: delete secrets +rm testing/{test-env.sh,client-secrets.json,service-account.json} + +exit "$RTN" diff --git a/.kokoro/test-samples.sh b/.kokoro/test-samples.sh index 378d3a1c3d2..a76aaf5888c 100755 --- a/.kokoro/test-samples.sh +++ b/.kokoro/test-samples.sh @@ -13,6 +13,10 @@ # See the License for the specific language governing permissions and # limitations under the License. +# The default test runner for samples. +# +# For periodic builds, we rewinds the repo to the latest release, and +# run test-samples-impl.sh. # `-e` enables the script to automatically fail when a command fails # `-o pipefail` sets the exit code to the rightmost comment to exit with a non-zero @@ -24,87 +28,19 @@ cd github/google-api-python-client # Run periodic samples tests at latest release if [[ $KOKORO_BUILD_ARTIFACTS_SUBDIR = *"periodic"* ]]; then + # preserving the test runner implementation. + cp .kokoro/test-samples-impl.sh "${TMPDIR}/test-samples-impl.sh" + echo "--- IMPORTANT IMPORTANT IMPORTANT ---" + echo "Now we rewind the repo back to the latest release..." LATEST_RELEASE=$(git describe --abbrev=0 --tags) git checkout $LATEST_RELEASE -fi - -# Exit early if samples directory doesn't exist -if [ ! -d "./samples" ]; then - echo "No tests run. `./samples` not found" - exit 0 -fi - -# Disable buffering, so that the logs stream through. -export PYTHONUNBUFFERED=1 - -# Debug: show build environment -env | grep KOKORO - -# Install nox -python3.6 -m pip install --upgrade --quiet nox - -# Use secrets acessor service account to get secrets -if [[ -f "${KOKORO_GFILE_DIR}/secrets_viewer_service_account.json" ]]; then - gcloud auth activate-service-account \ - --key-file="${KOKORO_GFILE_DIR}/secrets_viewer_service_account.json" \ - --project="cloud-devrel-kokoro-resources" -fi - -# This script will create 3 files: -# - testing/test-env.sh -# - testing/service-account.json -# - testing/client-secrets.json -./scripts/decrypt-secrets.sh - -source ./testing/test-env.sh -export GOOGLE_APPLICATION_CREDENTIALS=$(pwd)/testing/service-account.json - -# For cloud-run session, we activate the service account for gcloud sdk. -gcloud auth activate-service-account \ - --key-file "${GOOGLE_APPLICATION_CREDENTIALS}" - -export GOOGLE_CLIENT_SECRETS=$(pwd)/testing/client-secrets.json - -echo -e "\n******************** TESTING PROJECTS ********************" - -# Switch to 'fail at end' to allow all tests to complete before exiting. -set +e -# Use RTN to return a non-zero value if the test fails. -RTN=0 -ROOT=$(pwd) -# Find all requirements.txt in the samples directory (may break on whitespace). -for file in samples/**/requirements.txt; do - cd "$ROOT" - # Navigate to the project folder. - file=$(dirname "$file") - cd "$file" - - echo "------------------------------------------------------------" - echo "- testing $file" - echo "------------------------------------------------------------" - - # Use nox to execute the tests for the project. - python3.6 -m nox -s "$RUN_TESTS_SESSION" - EXIT=$? - - # If this is a periodic build, send the test log to the FlakyBot. - # See https://github.com/googleapis/repo-automation-bots/tree/master/packages/flakybot. - if [[ $KOKORO_BUILD_ARTIFACTS_SUBDIR = *"periodic"* ]]; then - chmod +x $KOKORO_GFILE_DIR/linux_amd64/flakybot - $KOKORO_GFILE_DIR/linux_amd64/flakybot + echo "The current head is: " + echo $(git rev-parse --verify HEAD) + echo "--- IMPORTANT IMPORTANT IMPORTANT ---" + # move back the test runner implementation if there's no file. + if [ ! -f .kokoro/test-samples-impl.sh ]; then + cp "${TMPDIR}/test-samples-impl.sh" .kokoro/test-samples-impl.sh fi +fi - if [[ $EXIT -ne 0 ]]; then - RTN=1 - echo -e "\n Testing failed: Nox returned a non-zero exit code. \n" - else - echo -e "\n Testing completed.\n" - fi - -done -cd "$ROOT" - -# Workaround for Kokoro permissions issue: delete secrets -rm testing/{test-env.sh,client-secrets.json,service-account.json} - -exit "$RTN" +exec .kokoro/test-samples-impl.sh diff --git a/CHANGELOG.md b/CHANGELOG.md index 52ff3474408..930ea84468f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,26 @@ # Changelog +## [2.1.0](https://www.github.com/googleapis/google-api-python-client/compare/v2.0.2...v2.1.0) (2021-03-31) + + +### Features + +* add status_code property on http error handling ([#1185](https://www.github.com/googleapis/google-api-python-client/issues/1185)) ([db2a766](https://www.github.com/googleapis/google-api-python-client/commit/db2a766bbd976742f6ef10d721d8423c8ac9246d)) + + +### Bug Fixes + +* Change default of `static_discovery` when `discoveryServiceUrl` set ([#1261](https://www.github.com/googleapis/google-api-python-client/issues/1261)) ([3b4f2e2](https://www.github.com/googleapis/google-api-python-client/commit/3b4f2e243709132b5ca41a3c23853d5067dfb0ab)) +* correct api version in oauth-installed.md ([#1258](https://www.github.com/googleapis/google-api-python-client/issues/1258)) ([d1a255f](https://www.github.com/googleapis/google-api-python-client/commit/d1a255fcbeaa36f615cede720692fea2b9f894db)) +* fix .close() ([#1231](https://www.github.com/googleapis/google-api-python-client/issues/1231)) ([a9583f7](https://www.github.com/googleapis/google-api-python-client/commit/a9583f712d13c67aa282d14cd30e00999b530d7c)) +* Resolve issue where num_retries would have no effect ([#1244](https://www.github.com/googleapis/google-api-python-client/issues/1244)) ([c518472](https://www.github.com/googleapis/google-api-python-client/commit/c518472e836c32ba2ff5e8480ab5a7643f722d46)) + + +### Documentation + +* Distinguish between public/private docs in 2.0 guide ([#1226](https://www.github.com/googleapis/google-api-python-client/issues/1226)) ([a6f1706](https://www.github.com/googleapis/google-api-python-client/commit/a6f17066caf6e911b7e94e8feab52fa3af2def1b)) +* Update README to promote cloud client libraries ([#1252](https://www.github.com/googleapis/google-api-python-client/issues/1252)) ([22807c9](https://www.github.com/googleapis/google-api-python-client/commit/22807c92ce754ff3d60f240ec5c38de50c5b654b)) + ### [2.0.2](https://www.github.com/googleapis/google-api-python-client/compare/v2.0.1...v2.0.2) (2021-03-04) diff --git a/README.md b/README.md index 45ca03738d2..e5c8d36f0d7 100644 --- a/README.md +++ b/README.md @@ -2,21 +2,54 @@ [](https://badge.fury.io/py/google-api-python-client) -This is the Python client library for Google's discovery based APIs. To get started, please see the [docs folder](docs/README.md). +This is the [Google API Python client library](https://cloud.google.com/apis/docs/client-libraries-explained#google_api_client_libraries) +for Google's discovery based APIs. To get started, please see the +[docs folder](https://github.com/googleapis/google-api-python-client/blob/master/docs/README.md). -These client libraries are officially supported by Google. However, the libraries are considered complete and are in maintenance mode. This means that we will address critical bugs and security issues but will not add any new features. +This library is considered complete and is in maintenance mode. This means +that we will address critical bugs and security issues but will not add any +new features. + +This library is officially supported by Google. However, the maintainers of +this repository recommend using [Cloud Client Libraries for Python](https://github.com/googleapis/google-cloud-python), +where possible, for new code development. For more information, please visit +[Client Libraries Explained](https://cloud.google.com/apis/docs/client-libraries-explained). ## Version 2.0 Release The 2.0 release of `google-api-python-client` is a significant upgrade compared -to v1. Please see the [Migration Guide](UPGRADING.md) for more information. +to v1. Please see the [Migration Guide](https://github.com/googleapis/google-api-python-client/blob/master/UPGRADING.md) for more information. +As a result of caching the discovery documents, the size of this package is at +least 50 MB larger compared to the previous version. ## Documentation -See the [docs folder](docs/README.md) for more detailed instructions and additional documentation. +See the [docs folder](https://github.com/googleapis/google-api-python-client/blob/master/docs/README.md) for more detailed instructions and additional documentation. ## Other Google API libraries -For Google Cloud Platform APIs such as Datastore, Cloud Storage or Pub/Sub, we recommend using [Cloud Client Libraries for Python](https://github.com/GoogleCloudPlatform/google-cloud-python). +The maintainers of this repository recommend using +[Cloud Client Libraries for Python](https://github.com/googleapis/google-cloud-python), +where possible, for new code development due to the following reasons: + +With [Cloud Client Libraries for Python](https://github.com/googleapis/google-cloud-python): +- There is a separate client library for each API, so you can choose +which client libraries to download. Whereas, `google-api-python-client` is a +single client library for all APIs. As a result, the total package size for +`google-api-python-client` exceeds 50MB. +- There are stricter controls for breaking changes to the underlying APIs +as each client library is focused on a specific API. +- There are more features in these Cloud Client Libraries as each library is +focused on a specific API, and in some cases, the libraries are owned by team +who specialized in that API. +- Developers will benefit from intellisense. + +For more information, please visit +[Client Libraries Explained](https://cloud.google.com/apis/docs/client-libraries-explained). + +Although there are many benefits to moving to +[Cloud Client Libraries for Python](https://github.com/googleapis/google-cloud-python), +the maintainers want to emphasize that `google-api-python-client` will continue +to be supported. For Google Ads API, we recommend using [Google Ads API Client Library for Python](https://github.com/googleads/google-ads-python/). @@ -70,6 +103,6 @@ For development you will also need the following libraries: ## Contributing -Please see our [Contribution Guide](CONTRIBUTING.rst). +Please see our [Contribution Guide](https://github.com/googleapis/google-api-python-client/blob/master/CONTRIBUTING.rst). In particular, we love pull requests - but please make sure to sign the contributor license agreement. diff --git a/UPGRADING.md b/UPGRADING.md index 475bd9f5e45..9ac0088393c 100644 --- a/UPGRADING.md +++ b/UPGRADING.md @@ -7,12 +7,31 @@ please continue to use version 1.x as we will continue supporting python 2.7+ in In addition, discovery documents will no longer be retrieved dynamically when you call `discovery.build()`. The discovery documents will instead be retrieved -from the client library directly. Existing code written for earlier versions of -this library will not require updating. We believe this new default behaviour -will provide a more predictable experience for users. If always using the latest -version of a service definition is more important than reliability, users should -set the `static_discovery` argument of `discovery.build()` to `False` to -retrieve the service definition from the internet. +from the client library directly. As a result of caching the discovery +documents, the size of this package is at least 50 MB larger compared to the +previous version. + + +For users of public APIs +------------------------ +Existing code written for earlier versions of this library will not require +updating. We believe this new default behaviour will provide a more predictable +experience for users. If always using the latest version of a service definition +is more important than reliability, users should set the `static_discovery` +argument of `discovery.build()` to `False` to retrieve the service definition +from the internet. + +For users of private APIs +------------------------- +If the discovery document requires an authentication key to access it, the +discovery document is private and it will not be shipped with the library. +Only discovery documents listed in [this public directory](https://www.googleapis.com/discovery/v1/apis/) +are included in the library. Users of private APIs should set the +`static_discovery` argument of `discovery.build()` to `False` to continue to +retrieve the service definition from the internet. As of version 2.1.0, +for backwards compatability with version 1.x, if `static_discovery` is not +specified, the default value for `static_discovery` will be `True` when +the `discoveryServiceUrl` argument of `discovery.build()` is provided. If you experience issues or have questions, please file an [issue](https://github.com/googleapis/google-api-python-client/issues). @@ -27,7 +46,8 @@ to use version 2.0.0. **Note**: Existing code written for earlier versions of this library will not require updating. You should only update your code if always using the latest -version of a service definition is more important than reliability. +version of a service definition is more important than reliability or if you +are using an API which does not have a public discovery document. > **WARNING**: Breaking change diff --git a/docs/dyn/accessapproval_v1.folders.approvalRequests.html b/docs/dyn/accessapproval_v1.folders.approvalRequests.html index f1e018c37c0..36d0943bd3f 100644 --- a/docs/dyn/accessapproval_v1.folders.approvalRequests.html +++ b/docs/dyn/accessapproval_v1.folders.approvalRequests.html @@ -240,7 +240,7 @@
+ printers()
+
Returns the printers Resource.
+ +
+ close()
Close httplib2 connections.
+close()
+ Close httplib2 connections.+
+ batchCreatePrinters(parent, body=None, x__xgafv=None)
Creates printers under given Organization Unit.
+
+ batchDeletePrinters(parent, body=None, x__xgafv=None)
Deletes printers in batch.
+
+ close()
Close httplib2 connections.
+
+ create(parent, body=None, x__xgafv=None)
Creates a printer under given Organization Unit.
+ +Deletes a `Printer`.
+ +Returns a `Printer` resource (printer's config).
+
+ list(parent, filter=None, orgUnitId=None, pageSize=None, pageToken=None, x__xgafv=None)
List printers configs.
+
+ listPrinterModels(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)
Lists the supported printer models.
+
+ listPrinterModels_next(previous_request, previous_response)
Retrieves the next page of results.
+
+ list_next(previous_request, previous_response)
Retrieves the next page of results.
+
+ patch(name, body=None, clearMask=None, updateMask=None, x__xgafv=None)
Updates a `Printer` resource.
+batchCreatePrinters(parent, body=None, x__xgafv=None)
+ Creates printers under given Organization Unit. + +Args: + parent: string, Required. The name of the customer. Format: customers/{customer_id} (required) + body: object, The request body. + The object takes the form of: + +{ # Request for adding new printers in batch. + "requests": [ # A list of Printers to be created. Max 50 at a time. + { # Request for adding a new printer. + "parent": "A String", # Required. The name of the customer. Format: customers/{customer_id} + "printer": { # Printer configuration. # Required. A printer to create. If you want to place the printer under particular OU then populate printer.org_unit_id filed. Otherwise the printer will be placed under root OU. + "auxiliaryMessages": [ # Output only. Auxiliary messages about issues with the printer configuration if any. + { # Auxiliary message about issues with printers or settings. Example: {message_type:AUXILIARY_MESSAGE_WARNING, field_mask:make_and_model, message:"Given printer is invalid or no longer supported."} + "auxiliaryMessage": "A String", # Human readable message in English. Example: "Given printer is invalid or no longer supported." + "fieldMask": "A String", # Field that this message concerns. + "severity": "A String", # Message severity + }, + ], + "createTime": "A String", # Output only. Time when printer was created. + "description": "A String", # Editable. Description of printer. + "displayName": "A String", # Editable. Name of printer. + "id": "A String", # Id of the printer. (During printer creation leave empty) + "makeAndModel": "A String", # Editable. Make and model of printer. e.g. Lexmark MS610de Value must be in format as seen in ListPrinterModels response. + "name": "A String", # The resource name of the Printer object, in the format customers/{customer-id}/printers/{printer-id} (During printer creation leave empty) + "orgUnitId": "A String", # Organization Unit that owns this printer (Only can be set during Printer creation) + "uri": "A String", # Editable. Printer URI. + "useDriverlessConfig": True or False, # Editable. flag to use driverless configuration or not. If it's set to be true, make_and_model can be ignored + }, + }, + ], +} + + x__xgafv: string, V1 error format. + Allowed values + 1 - v1 error format + 2 - v2 error format + +Returns: + An object of the form: + + { # Response for adding new printers in batch. + "failures": [ # A list of create failures. Printer IDs are not populated, as printer were not created. + { # Info about failures + "errorCode": "A String", # Canonical code for why the update failed to apply. + "errorMessage": "A String", # Failure reason message. + "printer": { # Printer configuration. # Failed printer. + "auxiliaryMessages": [ # Output only. Auxiliary messages about issues with the printer configuration if any. + { # Auxiliary message about issues with printers or settings. Example: {message_type:AUXILIARY_MESSAGE_WARNING, field_mask:make_and_model, message:"Given printer is invalid or no longer supported."} + "auxiliaryMessage": "A String", # Human readable message in English. Example: "Given printer is invalid or no longer supported." + "fieldMask": "A String", # Field that this message concerns. + "severity": "A String", # Message severity + }, + ], + "createTime": "A String", # Output only. Time when printer was created. + "description": "A String", # Editable. Description of printer. + "displayName": "A String", # Editable. Name of printer. + "id": "A String", # Id of the printer. (During printer creation leave empty) + "makeAndModel": "A String", # Editable. Make and model of printer. e.g. Lexmark MS610de Value must be in format as seen in ListPrinterModels response. + "name": "A String", # The resource name of the Printer object, in the format customers/{customer-id}/printers/{printer-id} (During printer creation leave empty) + "orgUnitId": "A String", # Organization Unit that owns this printer (Only can be set during Printer creation) + "uri": "A String", # Editable. Printer URI. + "useDriverlessConfig": True or False, # Editable. flag to use driverless configuration or not. If it's set to be true, make_and_model can be ignored + }, + "printerId": "A String", # Id of a failed printer. + }, + ], + "printers": [ # A list of successfully created printers with their IDs populated. + { # Printer configuration. + "auxiliaryMessages": [ # Output only. Auxiliary messages about issues with the printer configuration if any. + { # Auxiliary message about issues with printers or settings. Example: {message_type:AUXILIARY_MESSAGE_WARNING, field_mask:make_and_model, message:"Given printer is invalid or no longer supported."} + "auxiliaryMessage": "A String", # Human readable message in English. Example: "Given printer is invalid or no longer supported." + "fieldMask": "A String", # Field that this message concerns. + "severity": "A String", # Message severity + }, + ], + "createTime": "A String", # Output only. Time when printer was created. + "description": "A String", # Editable. Description of printer. + "displayName": "A String", # Editable. Name of printer. + "id": "A String", # Id of the printer. (During printer creation leave empty) + "makeAndModel": "A String", # Editable. Make and model of printer. e.g. Lexmark MS610de Value must be in format as seen in ListPrinterModels response. + "name": "A String", # The resource name of the Printer object, in the format customers/{customer-id}/printers/{printer-id} (During printer creation leave empty) + "orgUnitId": "A String", # Organization Unit that owns this printer (Only can be set during Printer creation) + "uri": "A String", # Editable. Printer URI. + "useDriverlessConfig": True or False, # Editable. flag to use driverless configuration or not. If it's set to be true, make_and_model can be ignored + }, + ], +}+
batchDeletePrinters(parent, body=None, x__xgafv=None)
+ Deletes printers in batch. + +Args: + parent: string, Required. The name of the customer. Format: customers/{customer_id} (required) + body: object, The request body. + The object takes the form of: + +{ # Request for deleting existing printers in batch. + "printerIds": [ # A list of Printer.id that should be deleted. Max 100 at a time. + "A String", + ], +} + + x__xgafv: string, V1 error format. + Allowed values + 1 - v1 error format + 2 - v2 error format + +Returns: + An object of the form: + + { # Response for deleting existing printers in batch. + "failedPrinters": [ # A list of update failures. + { # Info about failures + "errorCode": "A String", # Canonical code for why the update failed to apply. + "errorMessage": "A String", # Failure reason message. + "printer": { # Printer configuration. # Failed printer. + "auxiliaryMessages": [ # Output only. Auxiliary messages about issues with the printer configuration if any. + { # Auxiliary message about issues with printers or settings. Example: {message_type:AUXILIARY_MESSAGE_WARNING, field_mask:make_and_model, message:"Given printer is invalid or no longer supported."} + "auxiliaryMessage": "A String", # Human readable message in English. Example: "Given printer is invalid or no longer supported." + "fieldMask": "A String", # Field that this message concerns. + "severity": "A String", # Message severity + }, + ], + "createTime": "A String", # Output only. Time when printer was created. + "description": "A String", # Editable. Description of printer. + "displayName": "A String", # Editable. Name of printer. + "id": "A String", # Id of the printer. (During printer creation leave empty) + "makeAndModel": "A String", # Editable. Make and model of printer. e.g. Lexmark MS610de Value must be in format as seen in ListPrinterModels response. + "name": "A String", # The resource name of the Printer object, in the format customers/{customer-id}/printers/{printer-id} (During printer creation leave empty) + "orgUnitId": "A String", # Organization Unit that owns this printer (Only can be set during Printer creation) + "uri": "A String", # Editable. Printer URI. + "useDriverlessConfig": True or False, # Editable. flag to use driverless configuration or not. If it's set to be true, make_and_model can be ignored + }, + "printerId": "A String", # Id of a failed printer. + }, + ], + "printerIds": [ # A list of Printer.id that were successfully deleted. + "A String", + ], +}+
close()
+ Close httplib2 connections.+
create(parent, body=None, x__xgafv=None)
+ Creates a printer under given Organization Unit. + +Args: + parent: string, Required. The name of the customer. Format: customers/{customer_id} (required) + body: object, The request body. + The object takes the form of: + +{ # Printer configuration. + "auxiliaryMessages": [ # Output only. Auxiliary messages about issues with the printer configuration if any. + { # Auxiliary message about issues with printers or settings. Example: {message_type:AUXILIARY_MESSAGE_WARNING, field_mask:make_and_model, message:"Given printer is invalid or no longer supported."} + "auxiliaryMessage": "A String", # Human readable message in English. Example: "Given printer is invalid or no longer supported." + "fieldMask": "A String", # Field that this message concerns. + "severity": "A String", # Message severity + }, + ], + "createTime": "A String", # Output only. Time when printer was created. + "description": "A String", # Editable. Description of printer. + "displayName": "A String", # Editable. Name of printer. + "id": "A String", # Id of the printer. (During printer creation leave empty) + "makeAndModel": "A String", # Editable. Make and model of printer. e.g. Lexmark MS610de Value must be in format as seen in ListPrinterModels response. + "name": "A String", # The resource name of the Printer object, in the format customers/{customer-id}/printers/{printer-id} (During printer creation leave empty) + "orgUnitId": "A String", # Organization Unit that owns this printer (Only can be set during Printer creation) + "uri": "A String", # Editable. Printer URI. + "useDriverlessConfig": True or False, # Editable. flag to use driverless configuration or not. If it's set to be true, make_and_model can be ignored +} + + x__xgafv: string, V1 error format. + Allowed values + 1 - v1 error format + 2 - v2 error format + +Returns: + An object of the form: + + { # Printer configuration. + "auxiliaryMessages": [ # Output only. Auxiliary messages about issues with the printer configuration if any. + { # Auxiliary message about issues with printers or settings. Example: {message_type:AUXILIARY_MESSAGE_WARNING, field_mask:make_and_model, message:"Given printer is invalid or no longer supported."} + "auxiliaryMessage": "A String", # Human readable message in English. Example: "Given printer is invalid or no longer supported." + "fieldMask": "A String", # Field that this message concerns. + "severity": "A String", # Message severity + }, + ], + "createTime": "A String", # Output only. Time when printer was created. + "description": "A String", # Editable. Description of printer. + "displayName": "A String", # Editable. Name of printer. + "id": "A String", # Id of the printer. (During printer creation leave empty) + "makeAndModel": "A String", # Editable. Make and model of printer. e.g. Lexmark MS610de Value must be in format as seen in ListPrinterModels response. + "name": "A String", # The resource name of the Printer object, in the format customers/{customer-id}/printers/{printer-id} (During printer creation leave empty) + "orgUnitId": "A String", # Organization Unit that owns this printer (Only can be set during Printer creation) + "uri": "A String", # Editable. Printer URI. + "useDriverlessConfig": True or False, # Editable. flag to use driverless configuration or not. If it's set to be true, make_and_model can be ignored +}+
delete(name, x__xgafv=None)
+ Deletes a `Printer`. + +Args: + name: string, Required. The name of the printer to be updated. Format: customers/{customer_id}/chrome/printers/{printer_id} (required) + x__xgafv: string, V1 error format. + Allowed values + 1 - v1 error format + 2 - v2 error format + +Returns: + An object of the form: + + { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`. +}+
get(name, x__xgafv=None)
+ Returns a `Printer` resource (printer's config). + +Args: + name: string, Required. The name of the printer to retrieve. Format: customers/{customer_id}/chrome/printers/{printer_id} (required) + x__xgafv: string, V1 error format. + Allowed values + 1 - v1 error format + 2 - v2 error format + +Returns: + An object of the form: + + { # Printer configuration. + "auxiliaryMessages": [ # Output only. Auxiliary messages about issues with the printer configuration if any. + { # Auxiliary message about issues with printers or settings. Example: {message_type:AUXILIARY_MESSAGE_WARNING, field_mask:make_and_model, message:"Given printer is invalid or no longer supported."} + "auxiliaryMessage": "A String", # Human readable message in English. Example: "Given printer is invalid or no longer supported." + "fieldMask": "A String", # Field that this message concerns. + "severity": "A String", # Message severity + }, + ], + "createTime": "A String", # Output only. Time when printer was created. + "description": "A String", # Editable. Description of printer. + "displayName": "A String", # Editable. Name of printer. + "id": "A String", # Id of the printer. (During printer creation leave empty) + "makeAndModel": "A String", # Editable. Make and model of printer. e.g. Lexmark MS610de Value must be in format as seen in ListPrinterModels response. + "name": "A String", # The resource name of the Printer object, in the format customers/{customer-id}/printers/{printer-id} (During printer creation leave empty) + "orgUnitId": "A String", # Organization Unit that owns this printer (Only can be set during Printer creation) + "uri": "A String", # Editable. Printer URI. + "useDriverlessConfig": True or False, # Editable. flag to use driverless configuration or not. If it's set to be true, make_and_model can be ignored +}+
list(parent, filter=None, orgUnitId=None, pageSize=None, pageToken=None, x__xgafv=None)
+ List printers configs. + +Args: + parent: string, Required. The name of the customer who owns this collection of printers. Format: customers/{customer_id} (required) + filter: string, Search query. Search syntax is shared between this api and Admin Console printers pages. + orgUnitId: string, Organization Unit that we want to list the printers for. When org_unit is not present in the request then all printers of the customer are returned (or filtered). When org_unit is present in the request then only printers available to this OU will be returned (owned or inherited). You may see if printer is owned or inherited for this OU by looking at Printer.org_unit_id. + pageSize: integer, The maximum number of objects to return. The service may return fewer than this value. + pageToken: string, A page token, received from a previous call. + x__xgafv: string, V1 error format. + Allowed values + 1 - v1 error format + 2 - v2 error format + +Returns: + An object of the form: + + { # Response for listing printers. + "nextPageToken": "A String", # A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + "printers": [ # List of printers. If `org_unit_id` was given in the request, then only printers visible for this OU will be returned. If `org_unit_id` was given in the request, then all printers will be returned. + { # Printer configuration. + "auxiliaryMessages": [ # Output only. Auxiliary messages about issues with the printer configuration if any. + { # Auxiliary message about issues with printers or settings. Example: {message_type:AUXILIARY_MESSAGE_WARNING, field_mask:make_and_model, message:"Given printer is invalid or no longer supported."} + "auxiliaryMessage": "A String", # Human readable message in English. Example: "Given printer is invalid or no longer supported." + "fieldMask": "A String", # Field that this message concerns. + "severity": "A String", # Message severity + }, + ], + "createTime": "A String", # Output only. Time when printer was created. + "description": "A String", # Editable. Description of printer. + "displayName": "A String", # Editable. Name of printer. + "id": "A String", # Id of the printer. (During printer creation leave empty) + "makeAndModel": "A String", # Editable. Make and model of printer. e.g. Lexmark MS610de Value must be in format as seen in ListPrinterModels response. + "name": "A String", # The resource name of the Printer object, in the format customers/{customer-id}/printers/{printer-id} (During printer creation leave empty) + "orgUnitId": "A String", # Organization Unit that owns this printer (Only can be set during Printer creation) + "uri": "A String", # Editable. Printer URI. + "useDriverlessConfig": True or False, # Editable. flag to use driverless configuration or not. If it's set to be true, make_and_model can be ignored + }, + ], +}+
listPrinterModels(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)
+ Lists the supported printer models. + +Args: + parent: string, Required. The name of the customer who owns this collection of printers. Format: customers/{customer_id} (required) + filter: string, Filer to list only models by a given manufacturer in format: "manufacturer:Brother". Search syntax is shared between this api and Admin Console printers pages. + pageSize: integer, The maximum number of objects to return. The service may return fewer than this value. + pageToken: string, A page token, received from a previous call. + x__xgafv: string, V1 error format. + Allowed values + 1 - v1 error format + 2 - v2 error format + +Returns: + An object of the form: + + { # Response for listing allowed printer models. + "nextPageToken": "A String", # A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + "printerModels": [ # Printer models that are currently allowed to be configured for ChromeOs. Some printers may be added or removed over time. + { # Printer manufacturer and model + "displayName": "A String", # Display name. eq. "Brother MFC-8840D" + "makeAndModel": "A String", # Make and model as represented in "make_and_model" field in Printer object. eq. "brother mfc-8840d" + "manufacturer": "A String", # Manufacturer. eq. "Brother" + }, + ], +}+
listPrinterModels_next(previous_request, previous_response)
+ Retrieves the next page of results. + +Args: + previous_request: The request for the previous page. (required) + previous_response: The response from the request for the previous page. (required) + +Returns: + A request object that you can call 'execute()' on to request the next + page. Returns None if there are no more items in the collection. ++
list_next(previous_request, previous_response)
+ Retrieves the next page of results. + +Args: + previous_request: The request for the previous page. (required) + previous_response: The response from the request for the previous page. (required) + +Returns: + A request object that you can call 'execute()' on to request the next + page. Returns None if there are no more items in the collection. ++
patch(name, body=None, clearMask=None, updateMask=None, x__xgafv=None)
+ Updates a `Printer` resource. + +Args: + name: string, The resource name of the Printer object, in the format customers/{customer-id}/printers/{printer-id} (During printer creation leave empty) (required) + body: object, The request body. + The object takes the form of: + +{ # Printer configuration. + "auxiliaryMessages": [ # Output only. Auxiliary messages about issues with the printer configuration if any. + { # Auxiliary message about issues with printers or settings. Example: {message_type:AUXILIARY_MESSAGE_WARNING, field_mask:make_and_model, message:"Given printer is invalid or no longer supported."} + "auxiliaryMessage": "A String", # Human readable message in English. Example: "Given printer is invalid or no longer supported." + "fieldMask": "A String", # Field that this message concerns. + "severity": "A String", # Message severity + }, + ], + "createTime": "A String", # Output only. Time when printer was created. + "description": "A String", # Editable. Description of printer. + "displayName": "A String", # Editable. Name of printer. + "id": "A String", # Id of the printer. (During printer creation leave empty) + "makeAndModel": "A String", # Editable. Make and model of printer. e.g. Lexmark MS610de Value must be in format as seen in ListPrinterModels response. + "name": "A String", # The resource name of the Printer object, in the format customers/{customer-id}/printers/{printer-id} (During printer creation leave empty) + "orgUnitId": "A String", # Organization Unit that owns this printer (Only can be set during Printer creation) + "uri": "A String", # Editable. Printer URI. + "useDriverlessConfig": True or False, # Editable. flag to use driverless configuration or not. If it's set to be true, make_and_model can be ignored +} + + clearMask: string, The list of fields to be cleared. Note, some of the fields are read only and cannot be updated. Values for not specified fields will be patched. + updateMask: string, The list of fields to be updated. Note, some of the fields are read only and cannot be updated. Values for not specified fields will be patched. + x__xgafv: string, V1 error format. + Allowed values + 1 - v1 error format + 2 - v2 error format + +Returns: + An object of the form: + + { # Printer configuration. + "auxiliaryMessages": [ # Output only. Auxiliary messages about issues with the printer configuration if any. + { # Auxiliary message about issues with printers or settings. Example: {message_type:AUXILIARY_MESSAGE_WARNING, field_mask:make_and_model, message:"Given printer is invalid or no longer supported."} + "auxiliaryMessage": "A String", # Human readable message in English. Example: "Given printer is invalid or no longer supported." + "fieldMask": "A String", # Field that this message concerns. + "severity": "A String", # Message severity + }, + ], + "createTime": "A String", # Output only. Time when printer was created. + "description": "A String", # Editable. Description of printer. + "displayName": "A String", # Editable. Name of printer. + "id": "A String", # Id of the printer. (During printer creation leave empty) + "makeAndModel": "A String", # Editable. Make and model of printer. e.g. Lexmark MS610de Value must be in format as seen in ListPrinterModels response. + "name": "A String", # The resource name of the Printer object, in the format customers/{customer-id}/printers/{printer-id} (During printer creation leave empty) + "orgUnitId": "A String", # Organization Unit that owns this printer (Only can be set during Printer creation) + "uri": "A String", # Editable. Printer URI. + "useDriverlessConfig": True or False, # Editable. flag to use driverless configuration or not. If it's set to be true, make_and_model can be ignored +}+
+ chrome()
+
Returns the chrome Resource.
+Close httplib2 connections.
diff --git a/docs/dyn/admin_directory_v1.groups.html b/docs/dyn/admin_directory_v1.groups.html index a2b59f10730..c13d4ea9ac8 100644 --- a/docs/dyn/admin_directory_v1.groups.html +++ b/docs/dyn/admin_directory_v1.groups.html @@ -215,13 +215,11 @@
provisionAccountTicket(body=None, x__xgafv=None)
Requests a ticket for creating an account.
+
+ searchChangeHistoryEvents(account, body=None, x__xgafv=None)
Searches through all changes to an account or its children given the specified set of filters.
+
+ searchChangeHistoryEvents_next(previous_request, previous_response)
Retrieves the next page of results.
close()
@@ -290,4 +296,194 @@ searchChangeHistoryEvents(account, body=None, x__xgafv=None)
+ Searches through all changes to an account or its children given the specified set of filters. + +Args: + account: string, Required. The account resource for which to return change history resources. (required) + body: object, The request body. + The object takes the form of: + +{ # Request message for SearchChangeHistoryEvents RPC. + "action": [ # Optional. If set, only return changes that match one or more of these types of actions. + "A String", + ], + "actorEmail": [ # Optional. If set, only return changes if they are made by a user in this list. + "A String", + ], + "earliestChangeTime": "A String", # Optional. If set, only return changes made after this time (inclusive). + "latestChangeTime": "A String", # Optional. If set, only return changes made before this time (inclusive). + "pageSize": 42, # Optional. The maximum number of ChangeHistoryEvent items to return. The service may return fewer than this value, even if there are additional pages. If unspecified, at most 50 items will be returned. The maximum value is 200 (higher values will be coerced to the maximum). + "pageToken": "A String", # Optional. A page token, received from a previous `SearchChangeHistoryEvents` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `SearchChangeHistoryEvents` must match the call that provided the page token. + "property": "A String", # Optional. Resource name for a child property. If set, only return changes made to this property or its child resources. + "resourceType": [ # Optional. If set, only return changes if they are for a resource that matches at least one of these types. + "A String", + ], +} + + x__xgafv: string, V1 error format. + Allowed values + 1 - v1 error format + 2 - v2 error format + +Returns: + An object of the form: + + { # Response message for SearchAccounts RPC. + "changeHistoryEvents": [ # Results that were accessible to the caller. + { # A set of changes within a Google Analytics account or its child properties that resulted from the same cause. Common causes would be updates made in the Google Analytics UI, changes from customer support, or automatic Google Analytics system changes. + "actorType": "A String", # The type of actor that made this change. + "changeTime": "A String", # Time when change was made. + "changes": [ # A list of changes made in this change history event that fit the filters specified in SearchChangeHistoryEventsRequest. + { # A description of a change to a single Google Analytics resource. + "action": "A String", # The type of action that changed this resource. + "resource": "A String", # Resource name of the resource whose changes are described by this entry. + "resourceAfterChange": { # A snapshot of a resource as before or after the result of a change in change history. # Resource contents from after the change was made. If this resource was deleted in this change, this field will be missing. + "account": { # A resource message representing a Google Analytics account. # A snapshot of an Account resource in change history. + "createTime": "A String", # Output only. Time when this account was originally created. + "deleted": True or False, # Output only. Indicates whether this Account is soft-deleted or not. Deleted accounts are excluded from List results unless specifically requested. + "displayName": "A String", # Required. Human-readable display name for this account. + "name": "A String", # Output only. Resource name of this account. Format: accounts/{account} Example: "accounts/100" + "regionCode": "A String", # Country of business. Must be a Unicode CLDR region code. + "updateTime": "A String", # Output only. Time when account payload fields were last updated. + }, + "androidAppDataStream": { # A resource message representing a Google Analytics Android app stream. # A snapshot of an AndroidAppDataStream resource in change history. + "createTime": "A String", # Output only. Time when this stream was originally created. + "displayName": "A String", # Human-readable display name for the Data Stream. The max allowed display name length is 255 UTF-16 code units. + "firebaseAppId": "A String", # Output only. ID of the corresponding Android app in Firebase, if any. This ID can change if the Android app is deleted and recreated. + "name": "A String", # Output only. Resource name of this Data Stream. Format: properties/{property_id}/androidAppDataStreams/{stream_id} Example: "properties/1000/androidAppDataStreams/2000" + "packageName": "A String", # Immutable. The package name for the app being measured. Example: "com.example.myandroidapp" + "updateTime": "A String", # Output only. Time when stream payload fields were last updated. + }, + "firebaseLink": { # A link between an GA4 property and a Firebase project. # A snapshot of a FirebaseLink resource in change history. + "createTime": "A String", # Output only. Time when this FirebaseLink was originally created. + "maximumUserAccess": "A String", # Maximum user access to the GA4 property allowed to admins of the linked Firebase project. + "name": "A String", # Output only. Example format: properties/1234/firebaseLinks/5678 + "project": "A String", # Immutable. Firebase project resource name. When creating a FirebaseLink, you may provide this resource name using either a project number or project ID. Once this resource has been created, returned FirebaseLinks will always have a project_name that contains a project number. Format: 'projects/{project number}' Example: 'projects/1234' + }, + "googleAdsLink": { # A link between an GA4 property and a Google Ads account. # A snapshot of a GoogleAdsLink resource in change history. + "adsPersonalizationEnabled": True or False, # Enable personalized advertising features with this integration. Automatically publish my Google Analytics audience lists and Google Analytics remarketing events/parameters to the linked Google Ads account. If this field is not set on create/update it will be defaulted to true. + "canManageClients": True or False, # Output only. If true, this link is for a Google Ads manager account. + "createTime": "A String", # Output only. Time when this link was originally created. + "customerId": "A String", # Immutable. Google Ads customer ID. + "emailAddress": "A String", # Output only. Email address of the user that created the link. An empty string will be returned if the email address can't be retrieved. + "name": "A String", # Output only. Format: properties/{propertyId}/googleAdsLinks/{googleAdsLinkId} Note: googleAdsLinkId is not the Google Ads customer ID. + "updateTime": "A String", # Output only. Time when this link was last updated. + }, + "iosAppDataStream": { # A resource message representing a Google Analytics IOS app stream. # A snapshot of an IosAppDataStream resource in change history. + "bundleId": "A String", # Required. Immutable. The Apple App Store Bundle ID for the app Example: "com.example.myiosapp" + "createTime": "A String", # Output only. Time when this stream was originally created. + "displayName": "A String", # Human-readable display name for the Data Stream. The max allowed display name length is 255 UTF-16 code units. + "firebaseAppId": "A String", # Output only. ID of the corresponding iOS app in Firebase, if any. This ID can change if the iOS app is deleted and recreated. + "name": "A String", # Output only. Resource name of this Data Stream. Format: properties/{property_id}/iosAppDataStreams/{stream_id} Example: "properties/1000/iosAppDataStreams/2000" + "updateTime": "A String", # Output only. Time when stream payload fields were last updated. + }, + "property": { # A resource message representing a Google Analytics GA4 property. # A snapshot of a Property resource in change history. + "createTime": "A String", # Output only. Time when the entity was originally created. + "currencyCode": "A String", # The currency type used in reports involving monetary values. Format: https://en.wikipedia.org/wiki/ISO_4217 Examples: "USD", "EUR", "JPY" + "deleted": True or False, # Output only. Indicates whether this Property is soft-deleted or not. Deleted properties are excluded from List results unless specifically requested. + "displayName": "A String", # Required. Human-readable display name for this property. The max allowed display name length is 100 UTF-16 code units. + "industryCategory": "A String", # Industry associated with this property Example: AUTOMOTIVE, FOOD_AND_DRINK + "name": "A String", # Output only. Resource name of this property. Format: properties/{property_id} Example: "properties/1000" + "parent": "A String", # Immutable. Resource name of this property's logical parent. Note: The Property-Moving UI can be used to change the parent. Format: accounts/{account} Example: "accounts/100" + "timeZone": "A String", # Required. Reporting Time Zone, used as the day boundary for reports, regardless of where the data originates. If the time zone honors DST, Analytics will automatically adjust for the changes. NOTE: Changing the time zone only affects data going forward, and is not applied retroactively. Format: https://www.iana.org/time-zones Example: "America/Los_Angeles" + "updateTime": "A String", # Output only. Time when entity payload fields were last updated. + }, + "webDataStream": { # A resource message representing a Google Analytics web stream. # A snapshot of a WebDataStream resource in change history. + "createTime": "A String", # Output only. Time when this stream was originally created. + "defaultUri": "A String", # Immutable. Domain name of the web app being measured, or empty. Example: "http://www.google.com", "https://www.google.com" + "displayName": "A String", # Required. Human-readable display name for the Data Stream. The max allowed display name length is 100 UTF-16 code units. + "firebaseAppId": "A String", # Output only. ID of the corresponding web app in Firebase, if any. This ID can change if the web app is deleted and recreated. + "measurementId": "A String", # Output only. Analytics "Measurement ID", without the "G-" prefix. Example: "G-1A2BCD345E" would just be "1A2BCD345E" + "name": "A String", # Output only. Resource name of this Data Stream. Format: properties/{property_id}/webDataStreams/{stream_id} Example: "properties/1000/webDataStreams/2000" + "updateTime": "A String", # Output only. Time when stream payload fields were last updated. + }, + }, + "resourceBeforeChange": { # A snapshot of a resource as before or after the result of a change in change history. # Resource contents from before the change was made. If this resource was created in this change, this field will be missing. + "account": { # A resource message representing a Google Analytics account. # A snapshot of an Account resource in change history. + "createTime": "A String", # Output only. Time when this account was originally created. + "deleted": True or False, # Output only. Indicates whether this Account is soft-deleted or not. Deleted accounts are excluded from List results unless specifically requested. + "displayName": "A String", # Required. Human-readable display name for this account. + "name": "A String", # Output only. Resource name of this account. Format: accounts/{account} Example: "accounts/100" + "regionCode": "A String", # Country of business. Must be a Unicode CLDR region code. + "updateTime": "A String", # Output only. Time when account payload fields were last updated. + }, + "androidAppDataStream": { # A resource message representing a Google Analytics Android app stream. # A snapshot of an AndroidAppDataStream resource in change history. + "createTime": "A String", # Output only. Time when this stream was originally created. + "displayName": "A String", # Human-readable display name for the Data Stream. The max allowed display name length is 255 UTF-16 code units. + "firebaseAppId": "A String", # Output only. ID of the corresponding Android app in Firebase, if any. This ID can change if the Android app is deleted and recreated. + "name": "A String", # Output only. Resource name of this Data Stream. Format: properties/{property_id}/androidAppDataStreams/{stream_id} Example: "properties/1000/androidAppDataStreams/2000" + "packageName": "A String", # Immutable. The package name for the app being measured. Example: "com.example.myandroidapp" + "updateTime": "A String", # Output only. Time when stream payload fields were last updated. + }, + "firebaseLink": { # A link between an GA4 property and a Firebase project. # A snapshot of a FirebaseLink resource in change history. + "createTime": "A String", # Output only. Time when this FirebaseLink was originally created. + "maximumUserAccess": "A String", # Maximum user access to the GA4 property allowed to admins of the linked Firebase project. + "name": "A String", # Output only. Example format: properties/1234/firebaseLinks/5678 + "project": "A String", # Immutable. Firebase project resource name. When creating a FirebaseLink, you may provide this resource name using either a project number or project ID. Once this resource has been created, returned FirebaseLinks will always have a project_name that contains a project number. Format: 'projects/{project number}' Example: 'projects/1234' + }, + "googleAdsLink": { # A link between an GA4 property and a Google Ads account. # A snapshot of a GoogleAdsLink resource in change history. + "adsPersonalizationEnabled": True or False, # Enable personalized advertising features with this integration. Automatically publish my Google Analytics audience lists and Google Analytics remarketing events/parameters to the linked Google Ads account. If this field is not set on create/update it will be defaulted to true. + "canManageClients": True or False, # Output only. If true, this link is for a Google Ads manager account. + "createTime": "A String", # Output only. Time when this link was originally created. + "customerId": "A String", # Immutable. Google Ads customer ID. + "emailAddress": "A String", # Output only. Email address of the user that created the link. An empty string will be returned if the email address can't be retrieved. + "name": "A String", # Output only. Format: properties/{propertyId}/googleAdsLinks/{googleAdsLinkId} Note: googleAdsLinkId is not the Google Ads customer ID. + "updateTime": "A String", # Output only. Time when this link was last updated. + }, + "iosAppDataStream": { # A resource message representing a Google Analytics IOS app stream. # A snapshot of an IosAppDataStream resource in change history. + "bundleId": "A String", # Required. Immutable. The Apple App Store Bundle ID for the app Example: "com.example.myiosapp" + "createTime": "A String", # Output only. Time when this stream was originally created. + "displayName": "A String", # Human-readable display name for the Data Stream. The max allowed display name length is 255 UTF-16 code units. + "firebaseAppId": "A String", # Output only. ID of the corresponding iOS app in Firebase, if any. This ID can change if the iOS app is deleted and recreated. + "name": "A String", # Output only. Resource name of this Data Stream. Format: properties/{property_id}/iosAppDataStreams/{stream_id} Example: "properties/1000/iosAppDataStreams/2000" + "updateTime": "A String", # Output only. Time when stream payload fields were last updated. + }, + "property": { # A resource message representing a Google Analytics GA4 property. # A snapshot of a Property resource in change history. + "createTime": "A String", # Output only. Time when the entity was originally created. + "currencyCode": "A String", # The currency type used in reports involving monetary values. Format: https://en.wikipedia.org/wiki/ISO_4217 Examples: "USD", "EUR", "JPY" + "deleted": True or False, # Output only. Indicates whether this Property is soft-deleted or not. Deleted properties are excluded from List results unless specifically requested. + "displayName": "A String", # Required. Human-readable display name for this property. The max allowed display name length is 100 UTF-16 code units. + "industryCategory": "A String", # Industry associated with this property Example: AUTOMOTIVE, FOOD_AND_DRINK + "name": "A String", # Output only. Resource name of this property. Format: properties/{property_id} Example: "properties/1000" + "parent": "A String", # Immutable. Resource name of this property's logical parent. Note: The Property-Moving UI can be used to change the parent. Format: accounts/{account} Example: "accounts/100" + "timeZone": "A String", # Required. Reporting Time Zone, used as the day boundary for reports, regardless of where the data originates. If the time zone honors DST, Analytics will automatically adjust for the changes. NOTE: Changing the time zone only affects data going forward, and is not applied retroactively. Format: https://www.iana.org/time-zones Example: "America/Los_Angeles" + "updateTime": "A String", # Output only. Time when entity payload fields were last updated. + }, + "webDataStream": { # A resource message representing a Google Analytics web stream. # A snapshot of a WebDataStream resource in change history. + "createTime": "A String", # Output only. Time when this stream was originally created. + "defaultUri": "A String", # Immutable. Domain name of the web app being measured, or empty. Example: "http://www.google.com", "https://www.google.com" + "displayName": "A String", # Required. Human-readable display name for the Data Stream. The max allowed display name length is 100 UTF-16 code units. + "firebaseAppId": "A String", # Output only. ID of the corresponding web app in Firebase, if any. This ID can change if the web app is deleted and recreated. + "measurementId": "A String", # Output only. Analytics "Measurement ID", without the "G-" prefix. Example: "G-1A2BCD345E" would just be "1A2BCD345E" + "name": "A String", # Output only. Resource name of this Data Stream. Format: properties/{property_id}/webDataStreams/{stream_id} Example: "properties/1000/webDataStreams/2000" + "updateTime": "A String", # Output only. Time when stream payload fields were last updated. + }, + }, + }, + ], + "changesFiltered": True or False, # If true, then the list of changes returned was filtered, and does not represent all changes that occurred in this event. + "id": "A String", # ID of this change history event. This ID is unique across Google Analytics. + "userActorEmail": "A String", # Email address of the Google account that made the change. This will be a valid email address if the actor field is set to USER, and empty otherwise. Google accounts that have been deleted will cause an error. + }, + ], + "nextPageToken": "A String", # A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. +}+
searchChangeHistoryEvents_next(previous_request, previous_response)
+ Retrieves the next page of results. + +Args: + previous_request: The request for the previous page. (required) + previous_response: The response from the request for the previous page. (required) + +Returns: + A request object that you can call 'execute()' on to request the next + page. Returns None if there are no more items in the collection. ++