# YouTube Data API . commentThreads

## Instance Methods

Creates a new top-level comment. To add a reply to an existing comment, use the comments.insert method instead.

Returns a list of comment threads that match the API request parameters.

Retrieves the next page of results.

Modifies the top-level comment in a comment thread.

### Method Details

`insert(part, body)`

    Creates a new top-level comment. To add a reply to an existing comment, use the comments.insert method instead.

    Args:
      part: string, The part parameter identifies the properties that the API response will include. Set the parameter value to snippet. The snippet part has a quota cost of 2 units. (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # A comment thread represents information that applies to a top level comment and all its replies. It can also include the top level comment itself and some of the replies.
        "snippet": { # Basic details about a comment thread. # The snippet object contains basic details about the comment thread and also the top level comment.
          "isPublic": True or False, # Whether the thread (and therefore all its comments) is visible to all YouTube users.
          "channelId": "A String", # The YouTube channel the comments in the thread refer to or the channel with the video the comments refer to. If video_id isn't set the comments refer to the channel itself.
          "videoId": "A String", # The ID of the video the comments refer to, if any. No video_id implies a channel discussion comment.
          "canReply": True or False, # Whether the current viewer of the thread can reply to it. This is viewer specific - other viewers may see a different value for this field.
          "totalReplyCount": 42, # The total number of replies (not including the top level comment).
          "topLevelComment": { # A comment represents a single YouTube comment. # The top level comment of this thread.
            "snippet": { # Basic details about a comment, such as its author and text. # The snippet object contains basic details about the comment.
              "authorChannelUrl": "A String", # Link to the author's YouTube channel, if any.
              "viewerRating": "A String", # The rating the viewer has given to this comment. For the time being this will never return RATE_TYPE_DISLIKE and instead return RATE_TYPE_NONE. This may change in the future.
              "authorDisplayName": "A String", # The name of the user who posted the comment.
              "channelId": "A String", # The id of the corresponding YouTube channel. In case of a channel comment this is the channel the comment refers to. In case of a video comment it's the video's channel.
              "videoId": "A String", # The ID of the video the comment refers to, if any.
              "moderationStatus": "A String", # The comment's moderation status. Will not be set if the comments were requested through the id filter.
              "likeCount": 42, # The total number of likes this comment has received.
              "authorChannelId": "", # The id of the author's YouTube channel, if any.
              "parentId": "A String", # The unique id of the parent comment, only set for replies.
              "publishedAt": "A String", # The date and time when the comment was orignally published. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
              "canRate": True or False, # Whether the current viewer can rate this comment.
              "textOriginal": "A String", # The comment's original raw text as initially posted or last updated. The original text will only be returned if it is accessible to the viewer, which is only guaranteed if the viewer is the comment's author.
              "updatedAt": "A String", # The date and time when was last updated . The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
              "authorProfileImageUrl": "A String", # The URL for the avatar of the user who posted the comment.
              "textDisplay": "A String", # The comment's text. The format is either plain text or HTML dependent on what has been requested. Even the plain text representation may differ from the text originally posted in that it may replace video links with video titles etc.
            },
            "kind": "youtube#comment", # Identifies what kind of resource this is. Value: the fixed string "youtube#comment".
            "etag": "A String", # Etag of this resource.
            "id": "A String", # The ID that YouTube uses to uniquely identify the comment.
          },
        },
        "kind": "youtube#commentThread", # Identifies what kind of resource this is. Value: the fixed string "youtube#commentThread".
        "etag": "A String", # Etag of this resource.
        "id": "A String", # The ID that YouTube uses to uniquely identify the comment thread.
        "replies": { # Comments written in (direct or indirect) reply to the top level comment. # The replies object contains a limited number of replies (if any) to the top level comment found in the snippet.
          "comments": [ # A limited number of replies. Unless the number of replies returned equals total_reply_count in the snippet the returned replies are only a subset of the total number of replies.
            { # A comment represents a single YouTube comment.
              "snippet": { # Basic details about a comment, such as its author and text. # The snippet object contains basic details about the comment.
                "authorChannelUrl": "A String", # Link to the author's YouTube channel, if any.
                "viewerRating": "A String", # The rating the viewer has given to this comment. For the time being this will never return RATE_TYPE_DISLIKE and instead return RATE_TYPE_NONE. This may change in the future.
                "authorDisplayName": "A String", # The name of the user who posted the comment.
                "channelId": "A String", # The id of the corresponding YouTube channel. In case of a channel comment this is the channel the comment refers to. In case of a video comment it's the video's channel.
                "videoId": "A String", # The ID of the video the comment refers to, if any.
                "moderationStatus": "A String", # The comment's moderation status. Will not be set if the comments were requested through the id filter.
                "likeCount": 42, # The total number of likes this comment has received.
                "authorChannelId": "", # The id of the author's YouTube channel, if any.
                "parentId": "A String", # The unique id of the parent comment, only set for replies.
                "publishedAt": "A String", # The date and time when the comment was orignally published. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
                "canRate": True or False, # Whether the current viewer can rate this comment.
                "textOriginal": "A String", # The comment's original raw text as initially posted or last updated. The original text will only be returned if it is accessible to the viewer, which is only guaranteed if the viewer is the comment's author.
                "updatedAt": "A String", # The date and time when was last updated . The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
                "authorProfileImageUrl": "A String", # The URL for the avatar of the user who posted the comment.
                "textDisplay": "A String", # The comment's text. The format is either plain text or HTML dependent on what has been requested. Even the plain text representation may differ from the text originally posted in that it may replace video links with video titles etc.
              },
              "kind": "youtube#comment", # Identifies what kind of resource this is. Value: the fixed string "youtube#comment".
              "etag": "A String", # Etag of this resource.
              "id": "A String", # The ID that YouTube uses to uniquely identify the comment.
            },
          ],
        },
      }

    Returns:
      An object of the form:

        { # A comment thread represents information that applies to a top level comment and all its replies. It can also include the top level comment itself and some of the replies.
          "snippet": { # Basic details about a comment thread. # The snippet object contains basic details about the comment thread and also the top level comment.
            "isPublic": True or False, # Whether the thread (and therefore all its comments) is visible to all YouTube users.
            "channelId": "A String", # The YouTube channel the comments in the thread refer to or the channel with the video the comments refer to. If video_id isn't set the comments refer to the channel itself.
            "videoId": "A String", # The ID of the video the comments refer to, if any. No video_id implies a channel discussion comment.
            "canReply": True or False, # Whether the current viewer of the thread can reply to it. This is viewer specific - other viewers may see a different value for this field.
            "totalReplyCount": 42, # The total number of replies (not including the top level comment).
            "topLevelComment": { # A comment represents a single YouTube comment. # The top level comment of this thread.
              "snippet": { # Basic details about a comment, such as its author and text. # The snippet object contains basic details about the comment.
                "authorChannelUrl": "A String", # Link to the author's YouTube channel, if any.
                "viewerRating": "A String", # The rating the viewer has given to this comment. For the time being this will never return RATE_TYPE_DISLIKE and instead return RATE_TYPE_NONE. This may change in the future.
                "authorDisplayName": "A String", # The name of the user who posted the comment.
                "channelId": "A String", # The id of the corresponding YouTube channel. In case of a channel comment this is the channel the comment refers to. In case of a video comment it's the video's channel.
                "videoId": "A String", # The ID of the video the comment refers to, if any.
                "moderationStatus": "A String", # The comment's moderation status. Will not be set if the comments were requested through the id filter.
                "likeCount": 42, # The total number of likes this comment has received.
                "authorChannelId": "", # The id of the author's YouTube channel, if any.
                "parentId": "A String", # The unique id of the parent comment, only set for replies.
                "publishedAt": "A String", # The date and time when the comment was orignally published. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
                "canRate": True or False, # Whether the current viewer can rate this comment.
                "textOriginal": "A String", # The comment's original raw text as initially posted or last updated. The original text will only be returned if it is accessible to the viewer, which is only guaranteed if the viewer is the comment's author.
                "updatedAt": "A String", # The date and time when was last updated . The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
                "authorProfileImageUrl": "A String", # The URL for the avatar of the user who posted the comment.
                "textDisplay": "A String", # The comment's text. The format is either plain text or HTML dependent on what has been requested. Even the plain text representation may differ from the text originally posted in that it may replace video links with video titles etc.
              },
              "kind": "youtube#comment", # Identifies what kind of resource this is. Value: the fixed string "youtube#comment".
              "etag": "A String", # Etag of this resource.
              "id": "A String", # The ID that YouTube uses to uniquely identify the comment.
            },
          },
          "kind": "youtube#commentThread", # Identifies what kind of resource this is. Value: the fixed string "youtube#commentThread".
          "etag": "A String", # Etag of this resource.
          "id": "A String", # The ID that YouTube uses to uniquely identify the comment thread.
          "replies": { # Comments written in (direct or indirect) reply to the top level comment. # The replies object contains a limited number of replies (if any) to the top level comment found in the snippet.
            "comments": [ # A limited number of replies. Unless the number of replies returned equals total_reply_count in the snippet the returned replies are only a subset of the total number of replies.
              { # A comment represents a single YouTube comment.
                "snippet": { # Basic details about a comment, such as its author and text. # The snippet object contains basic details about the comment.
                  "authorChannelUrl": "A String", # Link to the author's YouTube channel, if any.
                  "viewerRating": "A String", # The rating the viewer has given to this comment. For the time being this will never return RATE_TYPE_DISLIKE and instead return RATE_TYPE_NONE. This may change in the future.
                  "authorDisplayName": "A String", # The name of the user who posted the comment.
                  "channelId": "A String", # The id of the corresponding YouTube channel. In case of a channel comment this is the channel the comment refers to. In case of a video comment it's the video's channel.
                  "videoId": "A String", # The ID of the video the comment refers to, if any.
                  "moderationStatus": "A String", # The comment's moderation status. Will not be set if the comments were requested through the id filter.
                  "likeCount": 42, # The total number of likes this comment has received.
                  "authorChannelId": "", # The id of the author's YouTube channel, if any.
                  "parentId": "A String", # The unique id of the parent comment, only set for replies.
                  "publishedAt": "A String", # The date and time when the comment was orignally published. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
                  "canRate": True or False, # Whether the current viewer can rate this comment.
                  "textOriginal": "A String", # The comment's original raw text as initially posted or last updated. The original text will only be returned if it is accessible to the viewer, which is only guaranteed if the viewer is the comment's author.
                  "updatedAt": "A String", # The date and time when was last updated . The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
                  "authorProfileImageUrl": "A String", # The URL for the avatar of the user who posted the comment.
                  "textDisplay": "A String", # The comment's text. The format is either plain text or HTML dependent on what has been requested. Even the plain text representation may differ from the text originally posted in that it may replace video links with video titles etc.
                },
                "kind": "youtube#comment", # Identifies what kind of resource this is. Value: the fixed string "youtube#comment".
                "etag": "A String", # Etag of this resource.
                "id": "A String", # The ID that YouTube uses to uniquely identify the comment.
              },
            ],
          },
        }

`list(part, channelId=None, id=None, pageToken=None, allThreadsRelatedToChannelId=None, moderationStatus=None, videoId=None, maxResults=None, searchTerms=None, textFormat=None, order=None)`

    Returns a list of comment threads that match the API request parameters.

    Args:
      part: string, The part parameter specifies a comma-separated list of one or more commentThread resource properties that the API response will include. (required)
      channelId: string, The channelId parameter instructs the API to return comment threads containing comments about the specified channel. (The response will not include comments left on videos that the channel uploaded.)
      id: string, The id parameter specifies a comma-separated list of comment thread IDs for the resources that should be retrieved.
      pageToken: string, The pageToken parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken property identifies the next page of the result that can be retrieved.

    Note: This parameter is not supported for use in conjunction with the id parameter.
      allThreadsRelatedToChannelId: string, The allThreadsRelatedToChannelId parameter instructs the API to return all comment threads associated with the specified channel. The response can include comments about the channel or about the channel's videos.
      moderationStatus: string, Set this parameter to limit the returned comment threads to a particular moderation state.

    Note: This parameter is not supported for use in conjunction with the id parameter.
        Allowed values
          heldForReview - Retrieve comment threads that are awaiting review by a moderator. A comment thread can be included in the response if the top-level comment or at least one of the replies to that comment are awaiting review.
          likelySpam - Retrieve comment threads classified as likely to be spam. A comment thread can be included in the response if the top-level comment or at least one of the replies to that comment is considered likely to be spam.
          published - Retrieve threads of published comments. This is the default value. A comment thread can be included in the response if its top-level comment has been published.
      videoId: string, The videoId parameter instructs the API to return comment threads associated with the specified video ID.
      maxResults: integer, The maxResults parameter specifies the maximum number of items that should be returned in the result set.

    Note: This parameter is not supported for use in conjunction with the id parameter.
      searchTerms: string, The searchTerms parameter instructs the API to limit the API response to only contain comments that contain the specified search terms.

    Note: This parameter is not supported for use in conjunction with the id parameter.
      textFormat: string, Set this parameter's value to html or plainText to instruct the API to return the comments left by users in html formatted or in plain text.
        Allowed values
          html - Returns the comments in HTML format. This is the default value.
          plainText - Returns the comments in plain text format.
      order: string, The order parameter specifies the order in which the API response should list comment threads. Valid values are:
    - time - Comment threads are ordered by time. This is the default behavior.
    - relevance - Comment threads are ordered by relevance.Note: This parameter is not supported for use in conjunction with the id parameter.
        Allowed values
          relevance - Order by relevance.
          time - Order by time.

    Returns:
      An object of the form:

        {
        "eventId": "A String", # Serialized EventId of the request which produced this response.
        "nextPageToken": "A String", # The token that can be used as the value of the pageToken parameter to retrieve the next page in the result set.
        "kind": "youtube#commentThreadListResponse", # Identifies what kind of resource this is. Value: the fixed string "youtube#commentThreadListResponse".
        "visitorId": "A String", # The visitorId identifies the visitor.
        "items": [ # A list of comment threads that match the request criteria.
          { # A comment thread represents information that applies to a top level comment and all its replies. It can also include the top level comment itself and some of the replies.
              "snippet": { # Basic details about a comment thread. # The snippet object contains basic details about the comment thread and also the top level comment.
                "isPublic": True or False, # Whether the thread (and therefore all its comments) is visible to all YouTube users.
                "channelId": "A String", # The YouTube channel the comments in the thread refer to or the channel with the video the comments refer to. If video_id isn't set the comments refer to the channel itself.
                "videoId": "A String", # The ID of the video the comments refer to, if any. No video_id implies a channel discussion comment.
                "canReply": True or False, # Whether the current viewer of the thread can reply to it. This is viewer specific - other viewers may see a different value for this field.
                "totalReplyCount": 42, # The total number of replies (not including the top level comment).
                "topLevelComment": { # A comment represents a single YouTube comment. # The top level comment of this thread.
                  "snippet": { # Basic details about a comment, such as its author and text. # The snippet object contains basic details about the comment.
                    "authorChannelUrl": "A String", # Link to the author's YouTube channel, if any.
                    "viewerRating": "A String", # The rating the viewer has given to this comment. For the time being this will never return RATE_TYPE_DISLIKE and instead return RATE_TYPE_NONE. This may change in the future.
                    "authorDisplayName": "A String", # The name of the user who posted the comment.
                    "channelId": "A String", # The id of the corresponding YouTube channel. In case of a channel comment this is the channel the comment refers to. In case of a video comment it's the video's channel.
                    "videoId": "A String", # The ID of the video the comment refers to, if any.
                    "moderationStatus": "A String", # The comment's moderation status. Will not be set if the comments were requested through the id filter.
                    "likeCount": 42, # The total number of likes this comment has received.
                    "authorChannelId": "", # The id of the author's YouTube channel, if any.
                    "parentId": "A String", # The unique id of the parent comment, only set for replies.
                    "publishedAt": "A String", # The date and time when the comment was orignally published. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
                    "canRate": True or False, # Whether the current viewer can rate this comment.
                    "textOriginal": "A String", # The comment's original raw text as initially posted or last updated. The original text will only be returned if it is accessible to the viewer, which is only guaranteed if the viewer is the comment's author.
                    "updatedAt": "A String", # The date and time when was last updated . The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
                    "authorProfileImageUrl": "A String", # The URL for the avatar of the user who posted the comment.
                    "textDisplay": "A String", # The comment's text. The format is either plain text or HTML dependent on what has been requested. Even the plain text representation may differ from the text originally posted in that it may replace video links with video titles etc.
                  },
                  "kind": "youtube#comment", # Identifies what kind of resource this is. Value: the fixed string "youtube#comment".
                  "etag": "A String", # Etag of this resource.
                  "id": "A String", # The ID that YouTube uses to uniquely identify the comment.
                },
              },
              "kind": "youtube#commentThread", # Identifies what kind of resource this is. Value: the fixed string "youtube#commentThread".
              "etag": "A String", # Etag of this resource.
              "id": "A String", # The ID that YouTube uses to uniquely identify the comment thread.
              "replies": { # Comments written in (direct or indirect) reply to the top level comment. # The replies object contains a limited number of replies (if any) to the top level comment found in the snippet.
                "comments": [ # A limited number of replies. Unless the number of replies returned equals total_reply_count in the snippet the returned replies are only a subset of the total number of replies.
                  { # A comment represents a single YouTube comment.
                    "snippet": { # Basic details about a comment, such as its author and text. # The snippet object contains basic details about the comment.
                      "authorChannelUrl": "A String", # Link to the author's YouTube channel, if any.
                      "viewerRating": "A String", # The rating the viewer has given to this comment. For the time being this will never return RATE_TYPE_DISLIKE and instead return RATE_TYPE_NONE. This may change in the future.
                      "authorDisplayName": "A String", # The name of the user who posted the comment.
                      "channelId": "A String", # The id of the corresponding YouTube channel. In case of a channel comment this is the channel the comment refers to. In case of a video comment it's the video's channel.
                      "videoId": "A String", # The ID of the video the comment refers to, if any.
                      "moderationStatus": "A String", # The comment's moderation status. Will not be set if the comments were requested through the id filter.
                      "likeCount": 42, # The total number of likes this comment has received.
                      "authorChannelId": "", # The id of the author's YouTube channel, if any.
                      "parentId": "A String", # The unique id of the parent comment, only set for replies.
                      "publishedAt": "A String", # The date and time when the comment was orignally published. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
                      "canRate": True or False, # Whether the current viewer can rate this comment.
                      "textOriginal": "A String", # The comment's original raw text as initially posted or last updated. The original text will only be returned if it is accessible to the viewer, which is only guaranteed if the viewer is the comment's author.
                      "updatedAt": "A String", # The date and time when was last updated . The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
                      "authorProfileImageUrl": "A String", # The URL for the avatar of the user who posted the comment.
                      "textDisplay": "A String", # The comment's text. The format is either plain text or HTML dependent on what has been requested. Even the plain text representation may differ from the text originally posted in that it may replace video links with video titles etc.
                    },
                    "kind": "youtube#comment", # Identifies what kind of resource this is. Value: the fixed string "youtube#comment".
                    "etag": "A String", # Etag of this resource.
                    "id": "A String", # The ID that YouTube uses to uniquely identify the comment.
                  },
                ],
              },
            },
        ],
        "tokenPagination": { # Stub token pagination template to suppress results.
        },
        "etag": "A String", # Etag of this resource.
        "pageInfo": { # Paging details for lists of resources, including total number of items available and number of resources returned in a single page.
          "totalResults": 42, # The total number of results in the result set.
          "resultsPerPage": 42, # The number of results included in the API response.
        },
      }

`list_next(previous_request, previous_response)`

    Retrieves the next page of results.

    Args:
      previous_request: The request for the previous page. (required)
      previous_response: The response from the request for the previous page. (required)

    Returns:
      A request object that you can call 'execute()' on to request the next
      page. Returns None if there are no more items in the collection.

`update(part, body)`

    Modifies the top-level comment in a comment thread.

    Args:
      part: string, The part parameter specifies a comma-separated list of commentThread resource properties that the API response will include. You must at least include the snippet part in the parameter value since that part contains all of the properties that the API request can update. (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # A comment thread represents information that applies to a top level comment and all its replies. It can also include the top level comment itself and some of the replies.
        "snippet": { # Basic details about a comment thread. # The snippet object contains basic details about the comment thread and also the top level comment.
          "isPublic": True or False, # Whether the thread (and therefore all its comments) is visible to all YouTube users.
          "channelId": "A String", # The YouTube channel the comments in the thread refer to or the channel with the video the comments refer to. If video_id isn't set the comments refer to the channel itself.
          "videoId": "A String", # The ID of the video the comments refer to, if any. No video_id implies a channel discussion comment.
          "canReply": True or False, # Whether the current viewer of the thread can reply to it. This is viewer specific - other viewers may see a different value for this field.
          "totalReplyCount": 42, # The total number of replies (not including the top level comment).
          "topLevelComment": { # A comment represents a single YouTube comment. # The top level comment of this thread.
            "snippet": { # Basic details about a comment, such as its author and text. # The snippet object contains basic details about the comment.
              "authorChannelUrl": "A String", # Link to the author's YouTube channel, if any.
              "viewerRating": "A String", # The rating the viewer has given to this comment. For the time being this will never return RATE_TYPE_DISLIKE and instead return RATE_TYPE_NONE. This may change in the future.
              "authorDisplayName": "A String", # The name of the user who posted the comment.
              "channelId": "A String", # The id of the corresponding YouTube channel. In case of a channel comment this is the channel the comment refers to. In case of a video comment it's the video's channel.
              "videoId": "A String", # The ID of the video the comment refers to, if any.
              "moderationStatus": "A String", # The comment's moderation status. Will not be set if the comments were requested through the id filter.
              "likeCount": 42, # The total number of likes this comment has received.
              "authorChannelId": "", # The id of the author's YouTube channel, if any.
              "parentId": "A String", # The unique id of the parent comment, only set for replies.
              "publishedAt": "A String", # The date and time when the comment was orignally published. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
              "canRate": True or False, # Whether the current viewer can rate this comment.
              "textOriginal": "A String", # The comment's original raw text as initially posted or last updated. The original text will only be returned if it is accessible to the viewer, which is only guaranteed if the viewer is the comment's author.
              "updatedAt": "A String", # The date and time when was last updated . The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
              "authorProfileImageUrl": "A String", # The URL for the avatar of the user who posted the comment.
              "textDisplay": "A String", # The comment's text. The format is either plain text or HTML dependent on what has been requested. Even the plain text representation may differ from the text originally posted in that it may replace video links with video titles etc.
            },
            "kind": "youtube#comment", # Identifies what kind of resource this is. Value: the fixed string "youtube#comment".
            "etag": "A String", # Etag of this resource.
            "id": "A String", # The ID that YouTube uses to uniquely identify the comment.
          },
        },
        "kind": "youtube#commentThread", # Identifies what kind of resource this is. Value: the fixed string "youtube#commentThread".
        "etag": "A String", # Etag of this resource.
        "id": "A String", # The ID that YouTube uses to uniquely identify the comment thread.
        "replies": { # Comments written in (direct or indirect) reply to the top level comment. # The replies object contains a limited number of replies (if any) to the top level comment found in the snippet.
          "comments": [ # A limited number of replies. Unless the number of replies returned equals total_reply_count in the snippet the returned replies are only a subset of the total number of replies.
            { # A comment represents a single YouTube comment.
              "snippet": { # Basic details about a comment, such as its author and text. # The snippet object contains basic details about the comment.
                "authorChannelUrl": "A String", # Link to the author's YouTube channel, if any.
                "viewerRating": "A String", # The rating the viewer has given to this comment. For the time being this will never return RATE_TYPE_DISLIKE and instead return RATE_TYPE_NONE. This may change in the future.
                "authorDisplayName": "A String", # The name of the user who posted the comment.
                "channelId": "A String", # The id of the corresponding YouTube channel. In case of a channel comment this is the channel the comment refers to. In case of a video comment it's the video's channel.
                "videoId": "A String", # The ID of the video the comment refers to, if any.
                "moderationStatus": "A String", # The comment's moderation status. Will not be set if the comments were requested through the id filter.
                "likeCount": 42, # The total number of likes this comment has received.
                "authorChannelId": "", # The id of the author's YouTube channel, if any.
                "parentId": "A String", # The unique id of the parent comment, only set for replies.
                "publishedAt": "A String", # The date and time when the comment was orignally published. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
                "canRate": True or False, # Whether the current viewer can rate this comment.
                "textOriginal": "A String", # The comment's original raw text as initially posted or last updated. The original text will only be returned if it is accessible to the viewer, which is only guaranteed if the viewer is the comment's author.
                "updatedAt": "A String", # The date and time when was last updated . The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
                "authorProfileImageUrl": "A String", # The URL for the avatar of the user who posted the comment.
                "textDisplay": "A String", # The comment's text. The format is either plain text or HTML dependent on what has been requested. Even the plain text representation may differ from the text originally posted in that it may replace video links with video titles etc.
              },
              "kind": "youtube#comment", # Identifies what kind of resource this is. Value: the fixed string "youtube#comment".
              "etag": "A String", # Etag of this resource.
              "id": "A String", # The ID that YouTube uses to uniquely identify the comment.
            },
          ],
        },
      }

    Returns:
      An object of the form:

        { # A comment thread represents information that applies to a top level comment and all its replies. It can also include the top level comment itself and some of the replies.
          "snippet": { # Basic details about a comment thread. # The snippet object contains basic details about the comment thread and also the top level comment.
            "isPublic": True or False, # Whether the thread (and therefore all its comments) is visible to all YouTube users.
            "channelId": "A String", # The YouTube channel the comments in the thread refer to or the channel with the video the comments refer to. If video_id isn't set the comments refer to the channel itself.
            "videoId": "A String", # The ID of the video the comments refer to, if any. No video_id implies a channel discussion comment.
            "canReply": True or False, # Whether the current viewer of the thread can reply to it. This is viewer specific - other viewers may see a different value for this field.
            "totalReplyCount": 42, # The total number of replies (not including the top level comment).
            "topLevelComment": { # A comment represents a single YouTube comment. # The top level comment of this thread.
              "snippet": { # Basic details about a comment, such as its author and text. # The snippet object contains basic details about the comment.
                "authorChannelUrl": "A String", # Link to the author's YouTube channel, if any.
                "viewerRating": "A String", # The rating the viewer has given to this comment. For the time being this will never return RATE_TYPE_DISLIKE and instead return RATE_TYPE_NONE. This may change in the future.
                "authorDisplayName": "A String", # The name of the user who posted the comment.
                "channelId": "A String", # The id of the corresponding YouTube channel. In case of a channel comment this is the channel the comment refers to. In case of a video comment it's the video's channel.
                "videoId": "A String", # The ID of the video the comment refers to, if any.
                "moderationStatus": "A String", # The comment's moderation status. Will not be set if the comments were requested through the id filter.
                "likeCount": 42, # The total number of likes this comment has received.
                "authorChannelId": "", # The id of the author's YouTube channel, if any.
                "parentId": "A String", # The unique id of the parent comment, only set for replies.
                "publishedAt": "A String", # The date and time when the comment was orignally published. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
                "canRate": True or False, # Whether the current viewer can rate this comment.
                "textOriginal": "A String", # The comment's original raw text as initially posted or last updated. The original text will only be returned if it is accessible to the viewer, which is only guaranteed if the viewer is the comment's author.
                "updatedAt": "A String", # The date and time when was last updated . The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
                "authorProfileImageUrl": "A String", # The URL for the avatar of the user who posted the comment.
                "textDisplay": "A String", # The comment's text. The format is either plain text or HTML dependent on what has been requested. Even the plain text representation may differ from the text originally posted in that it may replace video links with video titles etc.
              },
              "kind": "youtube#comment", # Identifies what kind of resource this is. Value: the fixed string "youtube#comment".
              "etag": "A String", # Etag of this resource.
              "id": "A String", # The ID that YouTube uses to uniquely identify the comment.
            },
          },
          "kind": "youtube#commentThread", # Identifies what kind of resource this is. Value: the fixed string "youtube#commentThread".
          "etag": "A String", # Etag of this resource.
          "id": "A String", # The ID that YouTube uses to uniquely identify the comment thread.
          "replies": { # Comments written in (direct or indirect) reply to the top level comment. # The replies object contains a limited number of replies (if any) to the top level comment found in the snippet.
            "comments": [ # A limited number of replies. Unless the number of replies returned equals total_reply_count in the snippet the returned replies are only a subset of the total number of replies.
              { # A comment represents a single YouTube comment.
                "snippet": { # Basic details about a comment, such as its author and text. # The snippet object contains basic details about the comment.
                  "authorChannelUrl": "A String", # Link to the author's YouTube channel, if any.
                  "viewerRating": "A String", # The rating the viewer has given to this comment. For the time being this will never return RATE_TYPE_DISLIKE and instead return RATE_TYPE_NONE. This may change in the future.
                  "authorDisplayName": "A String", # The name of the user who posted the comment.
                  "channelId": "A String", # The id of the corresponding YouTube channel. In case of a channel comment this is the channel the comment refers to. In case of a video comment it's the video's channel.
                  "videoId": "A String", # The ID of the video the comment refers to, if any.
                  "moderationStatus": "A String", # The comment's moderation status. Will not be set if the comments were requested through the id filter.
                  "likeCount": 42, # The total number of likes this comment has received.
                  "authorChannelId": "", # The id of the author's YouTube channel, if any.
                  "parentId": "A String", # The unique id of the parent comment, only set for replies.
                  "publishedAt": "A String", # The date and time when the comment was orignally published. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
                  "canRate": True or False, # Whether the current viewer can rate this comment.
                  "textOriginal": "A String", # The comment's original raw text as initially posted or last updated. The original text will only be returned if it is accessible to the viewer, which is only guaranteed if the viewer is the comment's author.
                  "updatedAt": "A String", # The date and time when was last updated . The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
                  "authorProfileImageUrl": "A String", # The URL for the avatar of the user who posted the comment.
                  "textDisplay": "A String", # The comment's text. The format is either plain text or HTML dependent on what has been requested. Even the plain text representation may differ from the text originally posted in that it may replace video links with video titles etc.
                },
                "kind": "youtube#comment", # Identifies what kind of resource this is. Value: the fixed string "youtube#comment".
                "etag": "A String", # Etag of this resource.
                "id": "A String", # The ID that YouTube uses to uniquely identify the comment.
              },
            ],
          },
        }