/// <summary> /// Returns traffic estimates for specified criteria. /// /// @param selector Campaigns, ad groups and keywords for which traffic /// should be estimated. /// @return Traffic estimation results. /// @throws ApiException if problems occurred while retrieving estimates /// </summary> public async Task <TrafficEstimatorResult> GetAsync(TrafficEstimatorSelector selector) { var binding = new TrafficEstimatorServiceSoapBinding("https://adwords.google.com/api/adwords/o/v201609/TrafficEstimatorService", _config.AccessToken, _config.Timeout, _config.EnableGzipCompression, _netUtil, _logger); var inData = new SoapData <TrafficEstimatorServiceRequestHeader, TrafficEstimatorServiceGet>(); inData.Header = new TrafficEstimatorServiceRequestHeader(); AssignHeaderValues(inData.Header); inData.Body = new TrafficEstimatorServiceGet(); inData.Body.Selector = selector; var outData = await binding.GetAsync(inData).ConfigureAwait(false); return(outData.Body.Rval); }
public virtual void ReadFrom(XElement xE) { Selector = null; foreach (var xItem in xE.Elements()) { var localName = xItem.Name.LocalName; if (localName == "selector") { Selector = new TrafficEstimatorSelector(); Selector.ReadFrom(xItem); } } }