注释:list
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
检索帖子的评论列表。
立即试用或查看示例。
如果评论位于不公开的博客上,则需要进行授权。如果评论位于公开的博客上,则用户无需授权即可调用此方法。
请求
HTTP 请求
GET https://www.googleapis.com/blogger/v3/blogs/blogId/posts/postId/comments
参数
参数名称 |
值 |
说明 |
必需参数 |
blogId |
string |
要从中提取评论的博客的 ID。
|
postId |
string |
要从中提取评论的帖子的 ID。
|
可选参数 |
endDate |
datetime |
要提取评论的最新日期,即采用 RFC 3339 格式的日期时间。
|
fetchBodies |
boolean |
是否包含评论的正文内容。
|
maxResults |
unsigned integer |
结果中可包含的评论数量上限。
|
pageToken |
string |
如果请求已分页,则为延续令牌。
|
startDate |
datetime |
要提取评论的最早日期,采用 RFC 3339 格式的日期时间。
|
status |
string |
可接受的值包括:
- “
emptied ”:内容被移除的评论
- “
live ”:所有人都可以看到的评论
- “
pending ”:正在等待管理员批准的评论
- “
spam ”:管理员标记为垃圾内容的评论
|
view |
string |
可接受的值包括:
- “
ADMIN ”:管理员级别详细信息
- “
AUTHOR ”:作者级别详细信息
- “
READER ”:管理员级别详细信息
|
请求正文
使用此方法时请勿提供请求正文。
响应
如果成功,此方法将返回采用以下结构的响应正文:
{
"kind": "blogger#commentList",
"nextPageToken": string,
"prevPageToken": string,
"items": [
comments Resource
]
}
属性名称 |
值 |
说明 |
备注 |
kind |
string |
此条目的类型。始终为 blogger#commentList 。 |
|
nextPageToken |
string |
用于提取下一页的分页令牌(如果存在)。 |
|
prevPageToken |
string |
用于获取上一页的分页令牌(如果存在)。 |
|
items[] |
list |
指定帖子的评论资源列表。 |
|
示例
注意:此方法的代码示例并未列出所有受支持的编程语言(请参阅客户端库页面,查看受支持的语言列表)。
Java
使用 Java 客户端库
// The BlogId for the http://buzz.blogger.com/ blog.
String BUZZ_BLOG_ID = "2399953";
// The PostId for a buzz post with comments.
String BUZZ_POST_ID = "5310628572012276714";
// Configure the Java API Client for Installed Native App
HttpTransport HTTP_TRANSPORT = new NetHttpTransport();
JsonFactory JSON_FACTORY = new JacksonFactory();
// Configure the Installed App OAuth2 flow.
Credential credential = OAuth2Native.authorize(HTTP_TRANSPORT,
JSON_FACTORY, new LocalServerReceiver(),
Arrays.asList(BloggerScopes.BLOGGER));
// Construct the Blogger API access facade object.
Blogger blogger = Blogger.builder(HTTP_TRANSPORT, JSON_FACTORY)
.setApplicationName("Blogger-CommentsList-Snippet/1.0")
.setHttpRequestInitializer(credential).build();
// The request action.
List commentsListAction = blogger.comments().list(BUZZ_BLOG_ID, BUZZ_POST_ID);
// Restrict the result content to just the data we need.
commentsListAction.setFields("items(author/displayName,content),nextPageToken");
// This step sends the request to the server.
CommentList comments = commentsListAction.execute();
// Now we can navigate the response.
while(comments.getItems() != null && !comments.getItems().isEmpty()){
for(Comment comment : comments.getItems()) {
System.out.println(comment.getAuthor().getDisplayName()+": "+comment.getContent());
}
// Pagination logic
String pageToken = comments.getNextPageToken();
if(pageToken == null) {
break;
}
System.out.println("-- Next page of comments");
commentsListAction.setPageToken(pageToken);
comments = commentsListAction.execute();
}
试试看!
使用下面的 API Explorer 对实际数据调用此方法,然后查看响应。
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2024-08-09。
[null,null,["最后更新时间 (UTC):2024-08-09。"],[[["\u003cp\u003eRetrieves a list of comments for a specific blog post, requiring authorization only for private blogs.\u003c/p\u003e\n"],["\u003cp\u003eAllows filtering of comments by date, content inclusion, maximum results, and status (live, pending, spam, emptied).\u003c/p\u003e\n"],["\u003cp\u003eSupports pagination to retrieve large sets of comments using \u003ccode\u003enextPageToken\u003c/code\u003e and \u003ccode\u003eprevPageToken\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eProvides response data including comment details, author information, and pagination tokens in JSON format.\u003c/p\u003e\n"],["\u003cp\u003eOffers code examples in Java for utilizing the API to fetch and display comments.\u003c/p\u003e\n"]]],[],null,["# Comments: list\n\nRetrieves the list of [comments](/blogger/docs/3.0/reference/comments) for a [post](/blogger/docs/3.0/reference/posts).\n[Try it now](#try-it) or [see an example](#examples).\n\n[Authorization](/blogger/docs/3.0/using#auth) is required if the comments are on a blog that is private. If the comments are on a blog that is public, then this method can be called without authorization.\n\nRequest\n-------\n\n### HTTP request\n\n```\nGET https://www.googleapis.com/blogger/v3/blogs/blogId/posts/postId/comments\n```\n\n### Parameters\n\n| Parameter name | Value | Description |\n|----------------|--------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| **Required parameters** |||\n| `blogId` | `string` | The ID of the blog to fetch comments from. |\n| `postId` | `string` | The ID of the post to fetch comments from. |\n| **Optional parameters** |||\n| `endDate` | `datetime` | Latest date of comment to fetch, a date-time with RFC 3339 formatting. |\n| `fetchBodies` | `boolean` | Whether the body content of the comments is included. |\n| `maxResults` | `unsigned integer` | Maximum number of comments to include in the result. |\n| `pageToken` | `string` | Continuation token if request is paged. |\n| `startDate` | `datetime` | Earliest date of comment to fetch, a date-time with RFC 3339 formatting. |\n| `status` | `string` | Acceptable values are: - \"`emptied`\": Comments that have had their content removed - \"`live`\": Comments that are publicly visible - \"`pending`\": Comments that are awaiting administrator approval - \"`spam`\": Comments marked as spam by the administrator |\n| `view` | `string` | Acceptable values are: - \"`ADMIN`\": Admin level detail - \"`AUTHOR`\": Author level detail - \"`READER`\": Admin level detail |\n\n### Request body\n\nDo not supply a request body with this method.\n\nResponse\n--------\n\nIf successful, this method returns a response body with the following structure:\n\n```objective-c\n{\n \"kind\": \"blogger#commentList\",\n \"nextPageToken\": string,\n \"prevPageToken\": string,\n \"items\": [\n comments Resource\n ]\n}\n```\n\n| Property name | Value | Description | Notes |\n|-----------------|----------|-------------------------------------------------------------|-------|\n| `kind` | `string` | The kind of this entry. Always `blogger#commentList`. | |\n| `nextPageToken` | `string` | Pagination token to fetch the next page, if one exists. | |\n| `prevPageToken` | `string` | Pagination token to fetch the previous page, if one exists. | |\n| `items[]` | `list` | The list of comments resources for the specified post. | |\n\nExamples\n--------\n\n**Note:** The code examples available for this method do not represent all supported programming languages (see the [client libraries page](/blogger/docs/3.0/libraries) for a list of supported languages). \n\n### Java\n\nUses the [Java client library](http://code.google.com/p/google-api-java-client/) \n\n```java\n// The BlogId for the http://buzz.blogger.com/ blog.\nString BUZZ_BLOG_ID = \"2399953\";\n\n// The PostId for a buzz post with comments.\nString BUZZ_POST_ID = \"5310628572012276714\";\n\n// Configure the Java API Client for Installed Native App\nHttpTransport HTTP_TRANSPORT = new NetHttpTransport();\nJsonFactory JSON_FACTORY = new JacksonFactory();\n\n// Configure the Installed App OAuth2 flow.\nCredential credential = OAuth2Native.authorize(HTTP_TRANSPORT,\n\tJSON_FACTORY, new LocalServerReceiver(),\n\tArrays.asList(BloggerScopes.BLOGGER));\n\n// Construct the Blogger API access facade object.\nBlogger blogger = Blogger.builder(HTTP_TRANSPORT, JSON_FACTORY)\n\t.setApplicationName(\"Blogger-CommentsList-Snippet/1.0\")\n\t.setHttpRequestInitializer(credential).build();\n\n// The request action.\nList commentsListAction = blogger.comments().list(BUZZ_BLOG_ID, BUZZ_POST_ID);\n\n// Restrict the result content to just the data we need.\ncommentsListAction.setFields(\"items(author/displayName,content),nextPageToken\");\n\n// This step sends the request to the server.\nCommentList comments = commentsListAction.execute();\n\n// Now we can navigate the response.\nwhile(comments.getItems() != null && !comments.getItems().isEmpty()){\n\tfor(Comment comment : comments.getItems()) {\n\t\tSystem.out.println(comment.getAuthor().getDisplayName()+\": \"+comment.getContent());\n\t}\n\n\t// Pagination logic\n\tString pageToken = comments.getNextPageToken();\n\tif(pageToken == null) {\n\t\tbreak;\n\t}\n\tSystem.out.println(\"-- Next page of comments\");\n\tcommentsListAction.setPageToken(pageToken);\n\tcomments = commentsListAction.execute();\n}\n```\n\nTry it!\n-------\n\n\nUse the APIs Explorer below to call this method on live data and see the response."]]