| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 | #!/usr/bin/env python# Copyright 2018 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 getting GeoTargetConstants by given location names."""import sysfrom google.ads.googleads.client import GoogleAdsClientfrom google.ads.googleads.errors import GoogleAdsException# Locale is using ISO 639-1 format. If an invalid locale is given,# 'en' is used by default.LOCALE = "zh_TW"# A list of country codes can be referenced here:# https://developers.google.com/google-ads/api/reference/data/geotargetsCOUNTRY_CODE = "TW"# [START get_geo_target_constants_by_names]def main(client):    gtc_service = client.get_service("GeoTargetConstantService")    gtc_request = client.get_type("SuggestGeoTargetConstantsRequest")    gtc_request.locale = LOCALE    gtc_request.country_code = COUNTRY_CODE    # The location names to get suggested geo target constants.    gtc_request.location_names.names.extend(        ["Taiwan"]    )#    gtc_request.location_names.names.extend(#        ["Paris", "Quebec", "Spain", "Deutschland"]#    )    results = gtc_service.suggest_geo_target_constants(gtc_request)    for suggestion in results.geo_target_constant_suggestions:        geo_target_constant = suggestion.geo_target_constant        print(            f"{geo_target_constant.resource_name} "            f"({geo_target_constant.name}, "            f"{geo_target_constant.country_code}, "            f"{geo_target_constant.target_type}, "            f"{geo_target_constant.status.name}) "            f"is found in locale ({suggestion.locale}) "            f"with reach ({suggestion.reach}) "            f"from search term ({suggestion.search_term})."        )    # [END get_geo_target_constants_by_names]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="v8")    googleads_client = GoogleAdsClient.load_from_storage(version="v7")    try:        main(googleads_client)    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'\tError 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)
 |