public virtual GeoLocation[] get(GeoLocationSelector selector) { object[] results = this.Invoke("get", new object[] { selector }); return ((GeoLocation[]) (results[0])); }
/// <summary> /// Runs the code example. /// </summary> /// <param name="user">The AdWords user.</param> /// <param name="adId">Id of the ad for which the location extension is /// overridden.</param> /// <param name="locationExtensionId">Id of the location extension to be /// overridden.</param> public void Run(AdWordsUser user, long adId, long locationExtensionId) { // Get the AdExtensionOverrideService. AdExtensionOverrideService adExtensionOverrideService = (AdExtensionOverrideService) user.GetService(AdWordsService.v201306. AdExtensionOverrideService); // Create the address. Address address = new Address(); address.streetAddress = "1600 Amphitheatre Parkway"; address.cityName = "Mountain View"; address.provinceCode = "CA"; address.postalCode = "94043"; address.countryCode = "US"; // Get the GeoLocationService. GeoLocationService geoService = (GeoLocationService) user.GetService(AdWordsService.v201306.GeoLocationService); GeoLocationSelector selector = new GeoLocationSelector(); selector.addresses = new Address[] {address}; // Get the geo location for the address. GeoLocation location = geoService.get(selector)[0]; // Create the location extension. LocationExtension extension = new LocationExtension(); extension.id = locationExtensionId; extension.address = location.address; extension.geoPoint = location.geoPoint; extension.encodedLocation = location.encodedLocation; extension.source = LocationExtensionSource.ADWORDS_FRONTEND; // Optional: Set the company name. extension.companyName = "ACME Inc."; // Optional: Set the phone number. extension.phoneNumber = "(650) 253-0000"; // Optional: Set image and icon media id. // extension.imageMediaId = ...; // extension.iconMediaId = ...; AdExtensionOverride locationExtensionOverride = new AdExtensionOverride(); locationExtensionOverride.adExtension = extension; locationExtensionOverride.adId = adId; // Optional: Set the override info. OverrideInfo overrideInfo = new OverrideInfo(); overrideInfo.Item = new LocationOverrideInfo(); overrideInfo.Item.radius = 5; overrideInfo.Item.radiusUnits = LocationOverrideInfoRadiusUnits.MILES; locationExtensionOverride.overrideInfo = overrideInfo; // Create the operation. AdExtensionOverrideOperation operation = new AdExtensionOverrideOperation(); operation.@operator = Operator.ADD; operation.operand = locationExtensionOverride; try { // Create the location extension override. AdExtensionOverrideReturnValue retVal = adExtensionOverrideService.mutate( new AdExtensionOverrideOperation[] {operation}); // Display the results. if (retVal != null && retVal.value != null && retVal.value.Length > 0) { AdExtensionOverride adExtensionOverride = retVal.value[0]; Console.WriteLine("Overrode location extension with id = \"{0}\" in Ad id = \"{1}\"", adExtensionOverride.adExtension.id, adExtensionOverride.adId); } else { Console.WriteLine("No location extensions were overridden."); } } catch (Exception ex) { throw new System.ApplicationException("Failed to override location extension.", ex); } }
/// <summary> /// Runs the code example. /// </summary> /// <param name="user">The AdWords user.</param> /// <param name="campaignId">Id of the campaign to which location /// extensions are added.</param> public void Run(AdWordsUser user, long campaignId) { // Get the CampaignAdExtensionService. CampaignAdExtensionService campaignExtensionService = (CampaignAdExtensionService) user.GetService(AdWordsService.v201306. CampaignAdExtensionService); // Add location 1: 1600 Amphitheatre Pkwy, Mountain View, US. Address address1 = new Address(); address1.streetAddress = "1600 Amphitheatre Parkway"; address1.cityName = "Mountain View"; address1.provinceCode = "CA"; address1.postalCode = "94043"; address1.countryCode = "US"; // Add location 2: 38 avenue de l'Opéra, 75002 Paris, FR. Address address2 = new Address(); address2.streetAddress = "38 avenue de l'Opéra"; address2.cityName = "Paris"; address2.postalCode = "75002"; address2.countryCode = "FR"; // Get the GeoLocationService. GeoLocationService geoService = (GeoLocationService) user.GetService(AdWordsService.v201306.GeoLocationService); // Create the selector. GeoLocationSelector selector = new GeoLocationSelector(); selector.addresses = new Address[] {address1, address2}; // Retrieve the locations. GeoLocation[] locations = geoService.get(selector); List<CampaignAdExtensionOperation> operations = new List<CampaignAdExtensionOperation>(); // Phone numbers for US and FR offices. string[] phoneNumbers = new string[] {"(650) 253-0000", "(0)1 42 68 53 00"}; int index = 0; // Create a location extension for each geo location returned by the // server. foreach (GeoLocation location in locations) { LocationExtension locationExtension = new LocationExtension(); locationExtension.address = location.address; locationExtension.geoPoint = location.geoPoint; locationExtension.encodedLocation = location.encodedLocation; locationExtension.source = LocationExtensionSource.ADWORDS_FRONTEND; // Optional: Set the company name. locationExtension.companyName = "ACME Inc."; // Optional: Set the phone number. locationExtension.phoneNumber = phoneNumbers[index]; index++; CampaignAdExtension extension = new CampaignAdExtension(); extension.campaignId = campaignId; extension.status = CampaignAdExtensionStatus.ACTIVE; extension.adExtension = locationExtension; CampaignAdExtensionOperation operation = new CampaignAdExtensionOperation(); operation.@operator = Operator.ADD; operation.operand = extension; operations.Add(operation); } try { CampaignAdExtensionReturnValue retVal = campaignExtensionService.mutate(operations.ToArray()); // Display the results. if (retVal != null && retVal.value != null && retVal.value.Length > 0) { foreach (CampaignAdExtension campaignExtension in retVal.value) { Console.WriteLine("Created a location extension with id = \"{0}\" and " + "status = \"{1}\"", campaignExtension.adExtension.id, campaignExtension.status); } } else { Console.WriteLine("No location extensions were created."); } } catch (Exception ex) { throw new System.ApplicationException("Failed to add location extension.", ex); } }
/// <summary> /// Gets the geo location for a given address. /// </summary> /// <param name="user">The AdWords user.</param> /// <param name="address">The address for which geolocation should be /// fetched.</param> /// <returns>Geo location for the address.</returns> public GeoLocation GetLocationForAddress(AdWordsUser user, Address address) { GeoLocationService geoService = (GeoLocationService) user.GetService(AdWordsService.v201306.GeoLocationService); GeoLocationSelector selector = new GeoLocationSelector(); selector.addresses = new Address[] {address}; return geoService.get(selector)[0]; }