註解: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();
}
試試看!
使用下方的 APIs Explorer,針對即時資料呼叫這個方法,看看會有什麼結果。
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2024-08-09 (世界標準時間)。
[null,null,["上次更新時間: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."]]