/// <summary> /// Initializes the service before MakeApiCall. /// </summary> /// <param name="methodName">Name of the method.</param> /// <param name="parameters">The method parameters.</param> protected override void InitForCall(string methodName, object[] parameters) { AdWordsAppConfig config = this.User.Config as AdWordsAppConfig; RequestHeader header = GetRequestHeader(); if (string.IsNullOrEmpty(header.developerToken)) { throw new ArgumentNullException(AdWordsErrorMessages.DeveloperTokenCannotBeEmpty); } if (string.IsNullOrEmpty(header.clientCustomerId)) { TraceUtilities.WriteGeneralWarnings(AdWordsErrorMessages.ClientCustomerIdIsEmpty); } header.userAgent = config.GetUserAgent(); string oAuthHeader = null; if (this.User.OAuthProvider != null) { oAuthHeader = this.User.OAuthProvider.GetAuthHeader(); } else { throw new AdWordsApiException(null, AdWordsErrorMessages.OAuthProviderCannotBeNull); } ContextStore.AddKey("OAuthHeader", oAuthHeader); base.InitForCall(methodName, parameters); }
/// <summary> /// Reads the headers from App.config. /// </summary> /// <param name="config">The configuration class.</param> protected override void ReadHeadersFromConfig(AppConfig config) { AdWordsAppConfig awConfig = (AdWordsAppConfig)config; this.requestHeader = new RequestHeader(); if (!string.IsNullOrEmpty(awConfig.ClientCustomerId)) { requestHeader.clientCustomerId = awConfig.ClientCustomerId; } requestHeader.developerToken = awConfig.DeveloperToken; requestHeader.userAgent = awConfig.GetUserAgent(); }
/// <summary> /// Initializes the service before MakeApiCall. /// </summary> /// <param name="methodName">Name of the method.</param> /// <param name="parameters">The method parameters.</param> protected override void InitForCall(string methodName, object[] parameters) { AdWordsAppConfig config = this.User.Config as AdWordsAppConfig; RequestHeader header = GetRequestHeader(); if (string.IsNullOrEmpty(header.developerToken)) { throw new ArgumentNullException(AdWordsErrorMessages.DeveloperTokenCannotBeEmpty); } if (string.IsNullOrEmpty(header.clientCustomerId)) { TraceUtilities.WriteGeneralWarnings(AdWordsErrorMessages.ClientCustomerIdIsEmpty); } // Validate Express business headers. if (this.Signature.ServiceName == "PromotionService") { if (header.expressBusinessIdSpecified && header.pageIdSpecified) { throw new ArgumentException(AdWordsErrorMessages.OnlyOneExpressHeaderShouldBeSpecified); } else if (!header.expressBusinessIdSpecified && !header.pageIdSpecified) { throw new ArgumentException(AdWordsErrorMessages.MissingExpressHeaders + ' ' + AdWordsErrorMessages.OnlyOneExpressHeaderShouldBeSpecified); } } else { if (header.expressBusinessIdSpecified || header.pageIdSpecified) { throw new ArgumentException(AdWordsErrorMessages.ExpressHeadersShouldNotBeSpecified); } } header.userAgent = config.GetUserAgent(); string oAuthHeader = null; if (this.User.OAuthProvider != null) { oAuthHeader = this.User.OAuthProvider.GetAuthHeader(); } else { throw new AdWordsApiException(null, AdWordsErrorMessages.OAuthProviderCannotBeNull); } ContextStore.AddKey("OAuthHeader", oAuthHeader); base.InitForCall(methodName, parameters); }