public async stt::Task GenerateKeywordIdeasRequestObjectAsync() { moq::Mock <KeywordPlanIdeaService.KeywordPlanIdeaServiceClient> mockGrpcClient = new moq::Mock <KeywordPlanIdeaService.KeywordPlanIdeaServiceClient>(moq::MockBehavior.Strict); GenerateKeywordIdeasRequest request = new GenerateKeywordIdeasRequest { CustomerId = "customer_id3b3724cb", KeywordAndUrlSeed = new KeywordAndUrlSeed(), KeywordSeed = new KeywordSeed(), UrlSeed = new UrlSeed(), Language = "language7dae1285", GeoTargetConstants = { "geo_target_constants2f692206", }, KeywordPlanNetwork = gagve::KeywordPlanNetworkEnum.Types.KeywordPlanNetwork.Unspecified, }; GenerateKeywordIdeaResponse expectedResponse = new GenerateKeywordIdeaResponse { Results = { new GenerateKeywordIdeaResult(), }, }; mockGrpcClient.Setup(x => x.GenerateKeywordIdeasAsync(request, moq::It.IsAny <grpccore::CallOptions>())).Returns(new grpccore::AsyncUnaryCall <GenerateKeywordIdeaResponse>(stt::Task.FromResult(expectedResponse), null, null, null, null)); KeywordPlanIdeaServiceClient client = new KeywordPlanIdeaServiceClientImpl(mockGrpcClient.Object, null); GenerateKeywordIdeaResponse responseCallSettings = await client.GenerateKeywordIdeasAsync(request, gaxgrpc::CallSettings.FromCancellationToken(st::CancellationToken.None)); Assert.AreEqual(expectedResponse, responseCallSettings); GenerateKeywordIdeaResponse responseCancellationToken = await client.GenerateKeywordIdeasAsync(request, st::CancellationToken.None); Assert.AreEqual(expectedResponse, responseCancellationToken); mockGrpcClient.VerifyAll(); }
public async Task GenerateKeywordIdeasAsync() { Mock <KeywordPlanIdeaService.KeywordPlanIdeaServiceClient> mockGrpcClient = new Mock <KeywordPlanIdeaService.KeywordPlanIdeaServiceClient>(MockBehavior.Strict); GenerateKeywordIdeasRequest expectedRequest = new GenerateKeywordIdeasRequest { CustomerId = "customerId-1772061412", Language = null, GeoTargetConstants = { }, KeywordPlanNetwork = KeywordPlanNetworkEnum.Types.KeywordPlanNetwork.Unspecified, }; GenerateKeywordIdeaResponse expectedResponse = new GenerateKeywordIdeaResponse(); mockGrpcClient.Setup(x => x.GenerateKeywordIdeasAsync(expectedRequest, It.IsAny <CallOptions>())) .Returns(new Grpc.Core.AsyncUnaryCall <GenerateKeywordIdeaResponse>(Task.FromResult(expectedResponse), null, null, null, null)); KeywordPlanIdeaServiceClient client = new KeywordPlanIdeaServiceClientImpl(mockGrpcClient.Object, null); string customerId = "customerId-1772061412"; string language = null; IEnumerable <string> geoTargetConstants = new List <string>(); KeywordPlanNetworkEnum.Types.KeywordPlanNetwork keywordPlanNetwork = KeywordPlanNetworkEnum.Types.KeywordPlanNetwork.Unspecified; GenerateKeywordIdeaResponse response = await client.GenerateKeywordIdeasAsync(customerId, language, geoTargetConstants, keywordPlanNetwork); Assert.AreEqual(expectedResponse, response); mockGrpcClient.VerifyAll(); }
public void GenerateKeywordIdeas() { Mock <KeywordPlanIdeaService.KeywordPlanIdeaServiceClient> mockGrpcClient = new Mock <KeywordPlanIdeaService.KeywordPlanIdeaServiceClient>(MockBehavior.Strict); string customerId = "customerId-1772061412"; string language = "en"; GenerateKeywordIdeasRequest expectedRequest = new GenerateKeywordIdeasRequest { CustomerId = customerId, Language = language, GeoTargetConstants = { }, KeywordPlanNetwork = KeywordPlanNetworkEnum.Types.KeywordPlanNetwork.Unspecified, }; GenerateKeywordIdeaResponse expectedResponse = new GenerateKeywordIdeaResponse(); mockGrpcClient.Setup(x => x.GenerateKeywordIdeas(expectedRequest, It.IsAny <CallOptions>())) .Returns(expectedResponse); KeywordPlanIdeaServiceClient client = new KeywordPlanIdeaServiceClientImpl(mockGrpcClient.Object, null); IEnumerable <string> geoTargetConstants = new List <string>(); KeywordPlanNetworkEnum.Types.KeywordPlanNetwork keywordPlanNetwork = KeywordPlanNetworkEnum.Types.KeywordPlanNetwork.Unspecified; GenerateKeywordIdeaResponse response = client.GenerateKeywordIdeas(customerId, language, geoTargetConstants, keywordPlanNetwork); Assert.AreEqual(expectedResponse, response); mockGrpcClient.VerifyAll(); }
/// <summary> /// Returns a list of keyword ideas. /// </summary> /// <param name="request"> /// The request object containing all of the parameters for the API call. /// </param> /// <param name="callSettings"> /// If not null, applies overrides to this RPC call. /// </param> /// <returns> /// The RPC response. /// </returns> public override GenerateKeywordIdeaResponse GenerateKeywordIdeas( GenerateKeywordIdeasRequest request, gaxgrpc::CallSettings callSettings = null) { Modify_GenerateKeywordIdeasRequest(ref request, ref callSettings); return(_callGenerateKeywordIdeas.Sync(request, callSettings)); }
public void GenerateKeywordIdeasRequestObject() { moq::Mock <KeywordPlanIdeaService.KeywordPlanIdeaServiceClient> mockGrpcClient = new moq::Mock <KeywordPlanIdeaService.KeywordPlanIdeaServiceClient>(moq::MockBehavior.Strict); GenerateKeywordIdeasRequest request = new GenerateKeywordIdeasRequest { CustomerId = "customer_id3b3724cb", KeywordAndUrlSeed = new KeywordAndUrlSeed(), KeywordSeed = new KeywordSeed(), UrlSeed = new UrlSeed(), Language = "language7dae1285", GeoTargetConstants = { "geo_target_constants2f692206", }, KeywordPlanNetwork = gagve::KeywordPlanNetworkEnum.Types.KeywordPlanNetwork.Unspecified, }; GenerateKeywordIdeaResponse expectedResponse = new GenerateKeywordIdeaResponse { Results = { new GenerateKeywordIdeaResult(), }, }; mockGrpcClient.Setup(x => x.GenerateKeywordIdeas(request, moq::It.IsAny <grpccore::CallOptions>())).Returns(expectedResponse); KeywordPlanIdeaServiceClient client = new KeywordPlanIdeaServiceClientImpl(mockGrpcClient.Object, null); GenerateKeywordIdeaResponse response = client.GenerateKeywordIdeas(request); Assert.AreEqual(expectedResponse, response); mockGrpcClient.VerifyAll(); }
/// <summary>Snippet for GenerateKeywordIdeasAsync</summary> public async Task GenerateKeywordIdeasRequestObjectAsync() { // Snippet: GenerateKeywordIdeasAsync(GenerateKeywordIdeasRequest, CallSettings) // Create client KeywordPlanIdeaServiceClient keywordPlanIdeaServiceClient = await KeywordPlanIdeaServiceClient.CreateAsync(); // Initialize request argument(s) GenerateKeywordIdeasRequest request = new GenerateKeywordIdeasRequest { CustomerId = "", KeywordAndUrlSeed = new KeywordAndUrlSeed(), KeywordPlanNetwork = KeywordPlanNetworkEnum.Types.KeywordPlanNetwork.Unspecified, IncludeAdultKeywords = false, Language = "", GeoTargetConstants = { "", }, AggregateMetrics = new KeywordPlanAggregateMetrics(), KeywordAnnotation = { KeywordPlanKeywordAnnotationEnum.Types.KeywordPlanKeywordAnnotation.Unspecified, }, HistoricalMetricsOptions = new HistoricalMetricsOptions(), }; // Make the request PagedAsyncEnumerable <GenerateKeywordIdeaResponse, GenerateKeywordIdeaResult> response = keywordPlanIdeaServiceClient.GenerateKeywordIdeasAsync(request); // Iterate over all response items, lazily performing RPCs as required await response.ForEachAsync((GenerateKeywordIdeaResult item) => { // Do something with each item Console.WriteLine(item); }); // Or iterate over pages (of server-defined size), performing one RPC per page await response.AsRawResponses().ForEachAsync((GenerateKeywordIdeaResponse page) => { // Do something with each page of items Console.WriteLine("A page of results:"); foreach (GenerateKeywordIdeaResult item in page) { // Do something with each item Console.WriteLine(item); } }); // Or retrieve a single page of known size (unless it's the final page), performing as many RPCs as required int pageSize = 10; Page <GenerateKeywordIdeaResult> singlePage = await response.ReadPageAsync(pageSize); // Do something with the page of items Console.WriteLine($"A page of {pageSize} results (unless it's the final page):"); foreach (GenerateKeywordIdeaResult item in singlePage) { // Do something with each item Console.WriteLine(item); } // Store the pageToken, for when the next page is required. string nextPageToken = singlePage.NextPageToken; // End snippet }
/// <summary>Snippet for GenerateKeywordIdeas</summary> public void GenerateKeywordIdeasRequestObject() { // Snippet: GenerateKeywordIdeas(GenerateKeywordIdeasRequest, CallSettings) // Create client KeywordPlanIdeaServiceClient keywordPlanIdeaServiceClient = KeywordPlanIdeaServiceClient.Create(); // Initialize request argument(s) GenerateKeywordIdeasRequest request = new GenerateKeywordIdeasRequest { CustomerId = "", KeywordAndUrlSeed = new KeywordAndUrlSeed(), Language = "", GeoTargetConstants = { "", }, KeywordPlanNetwork = KeywordPlanNetworkEnum.Types.KeywordPlanNetwork.Unspecified, IncludeAdultKeywords = false, }; // Make the request PagedEnumerable <GenerateKeywordIdeaResponse, GenerateKeywordIdeaResult> response = keywordPlanIdeaServiceClient.GenerateKeywordIdeas(request); // Iterate over all response items, lazily performing RPCs as required foreach (GenerateKeywordIdeaResult item in response) { // Do something with each item Console.WriteLine(item); } // Or iterate over pages (of server-defined size), performing one RPC per page foreach (GenerateKeywordIdeaResponse page in response.AsRawResponses()) { // Do something with each page of items Console.WriteLine("A page of results:"); foreach (GenerateKeywordIdeaResult item in page) { // Do something with each item Console.WriteLine(item); } } // Or retrieve a single page of known size (unless it's the final page), performing as many RPCs as required int pageSize = 10; Page <GenerateKeywordIdeaResult> singlePage = response.ReadPage(pageSize); // Do something with the page of items Console.WriteLine($"A page of {pageSize} results (unless it's the final page):"); foreach (GenerateKeywordIdeaResult item in singlePage) { // Do something with each item Console.WriteLine(item); } // Store the pageToken, for when the next page is required. string nextPageToken = singlePage.NextPageToken; // End snippet }
public void GenerateKeywordIdeas2() { Mock <KeywordPlanIdeaService.KeywordPlanIdeaServiceClient> mockGrpcClient = new Mock <KeywordPlanIdeaService.KeywordPlanIdeaServiceClient>(MockBehavior.Strict); GenerateKeywordIdeasRequest request = new GenerateKeywordIdeasRequest { CustomerId = "customerId-1772061412", Language = new StringValue().Value, // TODO(liseno): Implicit type cast from StringValue to String failed, GeoTargetConstants = { }, KeywordPlanNetwork = KeywordPlanNetworkEnum.Types.KeywordPlanNetwork.Unspecified, }; GenerateKeywordIdeaResponse expectedResponse = new GenerateKeywordIdeaResponse(); mockGrpcClient.Setup(x => x.GenerateKeywordIdeas(request, It.IsAny <CallOptions>())) .Returns(expectedResponse); KeywordPlanIdeaServiceClient client = new KeywordPlanIdeaServiceClientImpl(mockGrpcClient.Object, null); GenerateKeywordIdeaResponse response = client.GenerateKeywordIdeas(request); Assert.AreEqual(expectedResponse, response); mockGrpcClient.VerifyAll(); }
/// <summary> /// Runs the code example. /// </summary> /// <param name="client">The Google Ads client.</param> /// <param name="customerId">The customer ID for which the call is made.</param> /// <param name="locationIds">The list of location IDs to restrict the search.</param> /// <param name="languageId">The language to restrict the search.</param> /// <param name="keywordTexts">The list of seed keywords.</param> /// <param name="pageUrl">The seed page URL.</param> public void Run(GoogleAdsClient client, long customerId, long[] locationIds, long languageId, string[] keywordTexts, string pageUrl) { KeywordPlanIdeaServiceClient keywordPlanIdeaService = client.GetService(Services.V2.KeywordPlanIdeaService); // Make sure that keywords and/or page URL were specified. The request must have // exactly one of urlSeed, keywordSeed, or keywordAndUrlSeed set. if (keywordTexts.Length == 0 && string.IsNullOrEmpty(pageUrl)) { throw new ArgumentException("At least one of keywords or page URL is required, " + "but neither was specified."); } // Specify the optional arguments of the request as a keywordSeed, UrlSeed, // or KeywordAndUrlSeed. GenerateKeywordIdeasRequest request = new GenerateKeywordIdeasRequest() { CustomerId = customerId.ToString(), }; if (keywordTexts.Length == 0) { // Only page URL was specified, so use a UrlSeed. request.UrlSeed = new UrlSeed() { Url = pageUrl }; } else if (string.IsNullOrEmpty(pageUrl)) { // Only keywords were specified, so use a KeywordSeed. request.KeywordSeed = new KeywordSeed(); request.KeywordSeed.Keywords.AddRange(keywordTexts); } else { // Both page URL and keywords were specified, so use a KeywordAndUrlSeed. request.KeywordAndUrlSeed = new KeywordAndUrlSeed(); request.KeywordAndUrlSeed.Url = pageUrl; request.KeywordAndUrlSeed.Keywords.AddRange(keywordTexts); } // Create a list of geo target constants based on the resource name of specified // location IDs. foreach (long locationId in locationIds) { request.GeoTargetConstants.Add(ResourceNames.GeoTargetConstant(locationId)); } request.Language = ResourceNames.LanguageConstant(languageId); // Set the network. To restrict to only Google Search, change the parameter below to // KeywordPlanNetwork.GoogleSearch. request.KeywordPlanNetwork = KeywordPlanNetwork.GoogleSearchAndPartners; try { // Generate keyword ideas based on the specified parameters. GenerateKeywordIdeaResponse response = keywordPlanIdeaService.GenerateKeywordIdeas(request); // Iterate over the results and print its detail. foreach (GenerateKeywordIdeaResult result in response.Results) { KeywordPlanHistoricalMetrics metrics = result.KeywordIdeaMetrics; Console.WriteLine($"Keyword idea text '{result.Text}' has " + $"{metrics.AvgMonthlySearches} average monthly searches and competition " + $"is {metrics.Competition}."); } } catch (GoogleAdsException e) { Console.WriteLine("Failure:"); Console.WriteLine($"Message: {e.Message}"); Console.WriteLine($"Failure: {e.Failure}"); Console.WriteLine($"Request ID: {e.RequestId}"); } }
/// <summary> /// Returns a list of keyword ideas. /// /// List of thrown errors: /// [AuthenticationError]() /// [AuthorizationError]() /// [CollectionSizeError]() /// [HeaderError]() /// [InternalError]() /// [KeywordPlanIdeaError]() /// [QuotaError]() /// [RequestError]() /// </summary> /// <param name="request">The request object containing all of the parameters for the API call.</param> /// <param name="callSettings">If not null, applies overrides to this RPC call.</param> /// <returns>A pageable asynchronous sequence of <see cref="GenerateKeywordIdeaResult"/> resources.</returns> public override gax::PagedAsyncEnumerable <GenerateKeywordIdeaResponse, GenerateKeywordIdeaResult> GenerateKeywordIdeasAsync(GenerateKeywordIdeasRequest request, gaxgrpc::CallSettings callSettings = null) { Modify_GenerateKeywordIdeasRequest(ref request, ref callSettings); return(new gaxgrpc::GrpcPagedAsyncEnumerable <GenerateKeywordIdeasRequest, GenerateKeywordIdeaResponse, GenerateKeywordIdeaResult>(_callGenerateKeywordIdeas, request, callSettings)); }
partial void Modify_GenerateKeywordIdeasRequest(ref GenerateKeywordIdeasRequest request, ref gaxgrpc::CallSettings settings);
/// <summary> /// Returns a list of keyword ideas. /// /// List of thrown errors: /// [AuthenticationError]() /// [AuthorizationError]() /// [CollectionSizeError]() /// [HeaderError]() /// [InternalError]() /// [KeywordPlanIdeaError]() /// [QuotaError]() /// [RequestError]() /// </summary> /// <param name="request">The request object containing all of the parameters for the API call.</param> /// <param name="callSettings">If not null, applies overrides to this RPC call.</param> /// <returns>A pageable asynchronous sequence of <see cref="GenerateKeywordIdeaResult"/> resources.</returns> public virtual gax::PagedAsyncEnumerable <GenerateKeywordIdeaResponse, GenerateKeywordIdeaResult> GenerateKeywordIdeasAsync(GenerateKeywordIdeasRequest request, gaxgrpc::CallSettings callSettings = null) => throw new sys::NotImplementedException();
/// <summary> /// Returns a list of keyword ideas. /// </summary> /// <param name="request"> /// The request object containing all of the parameters for the API call. /// </param> /// <param name="callSettings"> /// If not null, applies overrides to this RPC call. /// </param> /// <returns> /// The RPC response. /// </returns> public virtual GenerateKeywordIdeaResponse GenerateKeywordIdeas( GenerateKeywordIdeasRequest request, gaxgrpc::CallSettings callSettings = null) { throw new sys::NotImplementedException(); }
/// <summary> /// Returns a list of keyword ideas. /// </summary> /// <param name="request"> /// The request object containing all of the parameters for the API call. /// </param> /// <param name="cancellationToken"> /// A <see cref="st::CancellationToken"/> to use for this RPC. /// </param> /// <returns> /// A Task containing the RPC response. /// </returns> public virtual stt::Task <GenerateKeywordIdeaResponse> GenerateKeywordIdeasAsync( GenerateKeywordIdeasRequest request, st::CancellationToken cancellationToken) => GenerateKeywordIdeasAsync( request, gaxgrpc::CallSettings.FromCancellationToken(cancellationToken));
/// <summary> /// Returns a list of keyword ideas. /// </summary> /// <param name="request">The request object containing all of the parameters for the API call.</param> /// <param name="callSettings">If not null, applies overrides to this RPC call.</param> /// <returns>A Task containing the RPC response.</returns> public virtual stt::Task <GenerateKeywordIdeaResponse> GenerateKeywordIdeasAsync(GenerateKeywordIdeasRequest request, gaxgrpc::CallSettings callSettings = null) => throw new sys::NotImplementedException();