| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 | #!/usr/bin/env python# 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."""This example illustrates how to get all campaigns.To add campaigns, run add_campaigns.py."""import argparseimport sysfrom google.ads.googleads.client import GoogleAdsClientfrom google.ads.googleads.errors import GoogleAdsExceptiondef main(client, customer_id):    ga_service = client.get_service("GoogleAdsService")    query = """        SELECT          campaign.id,          campaign.name        FROM campaign        ORDER BY campaign.id"""    # Issues a search request using streaming.    response = ga_service.search_stream(customer_id=customer_id, query=query)    for batch in response:        for row in batch.results:            print(                f"Campaign with ID {row.campaign.id} and name "                f'"{row.campaign.name}" was found.'            )if __name__ == "__main__":    # GoogleAdsClient will read the google-ads.yaml configuration file in the    # home directory if none is specified.    googleads_client = GoogleAdsClient.load_from_storage(version="v7")    parser = argparse.ArgumentParser(        description="Lists all campaigns for specified customer."    )    # The following argument(s) should be provided to run the example.    parser.add_argument(        "-c",        "--customer_id",        type=str,        required=True,        help="The Google Ads customer ID.",    )    args = parser.parse_args()    try:        main(googleads_client, args.customer_id)    except GoogleAdsException as ex:        print(            f'Request with ID "{ex.request_id}" failed with status '            f'"{ex.error.code().name}" and includes the following errors:'        )        for error in ex.failure.errors:            print(f'	Error with message "{error.message}".')            if error.location:                for field_path_element in error.location.field_path_elements:                    print(f"\t\tOn field: {field_path_element.field_name}")        sys.exit(1)
 |