---
document_id: agent.collection.task.facebook_get_post_comments_v1
schema_version: 2
parent_document_id: agent.querying
section: querying
---

<!-- Generated by scripts.build_agent_guide; do not edit. -->

# Post comments / 帖子评论

Get bounded comments for a Facebook post with opaque cursor pagination.

获取 Facebook 帖子评论，并使用不透明游标翻页。

Task / 任务: `facebook_get_post_comments_v1`
Platform / 平台: Facebook / Facebook
Billing / 计费: 60 Credits per successful task / 每个成功任务 60 Credits

## Facebook directory chain / Facebook 目录链路

Chain: profile path → `profile_id` → post `post_id` → comment `comment_id` plus `expansion_token`. The post ID used by the comments and replies tasks must be decimal ASCII digits; use `comment_id`, not `legacy_comment_id`, for replies. The provider OpenAPI leaves nested `data` untyped, so the fields below are the bounded Asklear projection. The live reply probe returned an empty page; replies always publish `next_cursor: null`.
链路：主页路径 → `profile_id` → 帖子 `post_id` → 评论 `comment_id` 加 `expansion_token`。评论和回复任务使用的帖子 ID 必须是 ASCII 十进制数字；回复要使用 `comment_id`，不要使用 `legacy_comment_id`。供应商 OpenAPI 对嵌套 `data` 未定义类型，下面字段是 Asklear 的有界投影。实时回复探测返回空页；回复任务始终发布 `next_cursor: null`。
Estimate / 估价: call `estimate_collection`; start directly when `approval_required=false`, otherwise obtain approval for `upper_bound_credits`.
估价：调用 `estimate_collection`；`approval_required=false` 时直接启动，否则请用户确认 `upper_bound_credits`。

## Limitations / 限制

- One fixed marketplace data route is called per task; no automatic version fallback or cross-platform fan-out is performed.
- Returned data is bounded and projected into task-specific public fields; missing fields are not inferred.
- Each successful request is charged once by the configured Asklear task price.
- The provider OpenAPI leaves nested data untyped; this task publishes only the bounded Asklear projection documented here.
- Use the decimal ASCII post_id returned by profile posts for comments and replies; use comment_id rather than legacy_comment_id for replies.
- Comment reactions_count accepts an integer or ASCII decimal string and is normalized to a nonnegative integer.
- Reply results currently have no public cursor and always publish next_cursor as null; the live reply probe was empty.
- Production exposure requires the configured marketplace data connection and bounded live acceptance evidence.

## Inputs / 输入

- `post_id` — Post ID / 帖子 ID; kind=text; required=True; default=''; bounds=min_length=1, max_length=256
- `cursor` — Cursor / 续页游标; kind=cursor; required=False; default=''; bounds=max_length=8192

## Minimal call / 最小调用

`estimate_collection`

```json
{
  "task_query": "Get comments for a public Facebook post ID.",
  "task_code": "facebook_get_post_comments_v1",
  "input": {
    "post_id": "123"
  }
}
```


## Result and pagination / 结果与分页

- mode=cursor
- input: `cursor`; continuation: `data.next_cursor` → `data.next_cursor`

Only the fields listed below are part of the stable result contract. /
只有下方列出的字段属于稳定结果契约。

## Result fields / 结果字段

- `meta.request_id` — type=string; Asklear request identifier for tracing. / 用于追踪的 Asklear 请求 ID。
- `meta.api_name` — type=string; Executed collection operation name. / 实际执行的采集操作名称。
- `meta.latency_ms` — type=integer; Collection execution latency in milliseconds. / 采集执行耗时（毫秒）。
- `meta.credits_charged` — type=integer; Asklear user-side Credits settled for this task after completion. / 任务完成后 Asklear 用户侧实际结算的 Credits。
- `data.items` — type=array<object>; Bounded comments returned by this page. / 本页返回的有界评论。
- `data.next_cursor` — type=string|null; Opaque cursor to pass to the same task for the next page. / 传回同一任务以请求下一页的不透明游标。
- `data.items[].comment_id` — type=string; Comment identifier to use for the replies task. / 传给回复任务的评论 ID。
- `data.items[].legacy_comment_id` — type=string|null; Legacy comment identifier; do not use it as the default reply input. / 旧版评论 ID；不要将其作为默认回复入参。
- `data.items[].type` — type=string; Comment type. / 评论类型。
- `data.items[].depth` — type=integer; Comment depth from 0 to 64. / 从 0 到 64 的评论深度。
- `data.items[].parent_comment_id` — type=string|null; Parent comment identifier when supplied. / 如有则返回父评论 ID。
- `data.items[].created_time` — type=integer; Comment creation timestamp. / 评论创建时间戳。
- `data.items[].message` — type=string; Bounded comment message. / 有界的评论正文。
- `data.items[].author` — type=object; Projected comment author. / 投影后的评论作者。
- `data.items[].author.id` — type=string; Comment author identifier. / 评论作者 ID。
- `data.items[].author.name` — type=string; Comment author display name. / 评论作者显示名称。
- `data.items[].author.profile_image` — type=string; Sanitized public comment-author image URL. / 经过清理的评论作者公开头像 URL。
- `data.items[].author.url` — type=string|null; Sanitized public comment-author profile URL. / 经过清理的评论作者主页 URL。
- `data.items[].replies_count` — type=integer; Number of replies. / 回复数。
- `data.items[].reactions_count` — type=integer; Normalized nonnegative reaction count. / 规范化后的非负反应数。
- `data.items[].expansion_token` — type=string; Opaque token required by the replies task. / 回复任务必需的不透明展开令牌。
- `data.items[].is_sticker` — type=boolean; Whether the comment is a sticker. / 评论是否为贴纸。
- `data.items[].is_gif` — type=boolean; Whether the comment is a GIF. / 评论是否为 GIF。

Use `list_collection_tasks` as the runtime authority, then `describe_collection_task` for one task's full input contract, examples and limits. Collection access is entitlement-gated. /
以 `list_collection_tasks` 返回为运行时准据，再用 `describe_collection_task` 取单个任务的完整入参契约、示例与限制；采集能力受 entitlement 控制。
