/// <summary>Snippet for ListIntentsAsync</summary> public async Task ListIntentsRequestObjectAsync() { // Snippet: ListIntentsAsync(ListIntentsRequest, CallSettings) // Create client IntentsClient intentsClient = await IntentsClient.CreateAsync(); // Initialize request argument(s) ListIntentsRequest request = new ListIntentsRequest { ParentAsAgentName = AgentName.FromProjectLocationAgent("[PROJECT]", "[LOCATION]", "[AGENT]"), LanguageCode = "", IntentView = IntentView.Unspecified, }; // Make the request PagedAsyncEnumerable <ListIntentsResponse, Intent> response = intentsClient.ListIntentsAsync(request); // Iterate over all response items, lazily performing RPCs as required await response.ForEachAsync((Intent 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((ListIntentsResponse page) => { // Do something with each page of items Console.WriteLine("A page of results:"); foreach (Intent 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 <Intent> 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 (Intent 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 async Task <ActionResult <dynamic> > Message([FromQuery(Name = "q")] string query) { IntentsClient intentsClient = await IntentsClient.CreateAsync(); ProjectAgentName parent = new ProjectAgentName("party-supplier"); PagedAsyncEnumerable <ListIntentsResponse, Intent> response = intentsClient.ListIntentsAsync(parent); var results = new List <Intent>(); await response.ForEachAsync(item => { results.Add(item); }); return(results); }