コード例 #1
0
 protected override void ProcessRecord()
 {
     if (Topic != null && Topic.Length > 0)
     {
         foreach (string topicName in Topic)
         {
             string formattedTopicName = GetProjectPrefixForTopic(topicName, Project);
             try
             {
                 ProjectsResource.TopicsResource.GetRequest getRequest = Service.Projects.Topics.Get(formattedTopicName);
                 WriteObject(getRequest.Execute());
             }
             catch (GoogleApiException ex) when(ex.HttpStatusCode == HttpStatusCode.NotFound)
             {
                 WriteResourceMissingError(
                     exceptionMessage: $"Topic '{topicName}' does not exist in project '{Project}'.",
                     errorId: "TopicNotFound",
                     targetObject: topicName);
             }
         }
     }
     else
     {
         ProjectsResource.TopicsResource.ListRequest listRequest = Service.Projects.Topics.List($"projects/{Project}");
         do
         {
             ListTopicsResponse response = listRequest.Execute();
             if (response.Topics != null)
             {
                 WriteObject(response.Topics, true);
             }
             listRequest.PageToken = response.NextPageToken;
         }while (!Stopping && listRequest.PageToken != null);
     }
 }
コード例 #2
0
 /// <summary>
 /// Gets all of the topics of the current project.
 /// </summary>
 public async Task <IList <Topic> > GetTopicListAsync()
 {
     ProjectsResource.TopicsResource.ListRequest request =
         Service.Projects.Topics.List(ProjectResourceName);
     return(await LoadPagedListAsync(
                token =>
     {
         request.PageToken = token;
         return request.ExecuteAsync();
     },
                response => response.Topics,
                response => response.NextPageToken));
 }
コード例 #3
0
 /// <summary>
 /// Gets all of the topics of the current project.
 /// </summary>
 public async Task <IList <Topic> > GetTopicListAsync()
 {
     try
     {
         ProjectsResource.TopicsResource.ListRequest request =
             Service.Projects.Topics.List(ProjectResourceName);
         return(await LoadPagedListAsync(
                    token =>
         {
             request.PageToken = token;
             return request.ExecuteAsync();
         },
                    response => response.Topics,
                    response => response.NextPageToken));
     }
     catch (GoogleApiException e)
     {
         throw new DataSourceException(e.Message, e);
     }
 }