Install
openclaw skills install @dataify-server/dataify-facebook-comment-by-urlCollect Facebook Comment By URL data and return results
openclaw skills install @dataify-server/dataify-facebook-comment-by-urlSubmit Facebook post comment collection jobs through Dataify Builder by post URL. After submission, continue monitoring the returned task_id and return the final result by default.
Use DATAIFY_API_TOKEN as the long-term saved token name.
DATAIFY_API_TOKEN is saved locally, use it without asking the user to re-enter the token.API TOKEN in user-facing instructions. Prefer the environment variable name DATAIFY_API_TOKEN for saved local use.PowerShell examples for saving the token for the current session:
$env:DATAIFY_API_TOKEN = "YOUR_DATAIFY_API_TOKEN"
For a persistent user-level variable on Windows:
[Environment]::SetEnvironmentVariable("DATAIFY_API_TOKEN", "YOUR_DATAIFY_API_TOKEN", "User")
Label and Value columns.url, get_all_replies, limit_records, and comments_sort.spider_parameters objects.spider_id=facebook_comment_by-comments-url.data.task_id from the Builder response and read data.status or status when present.| Field | Required | Default | Location | Notes |
|---|---|---|---|---|
url | Yes | https://www.facebook.com/share/p/1K6xfHFkrK/ | spider_parameters | Facebook post URL. |
get_all_replies | No | True | spider_parameters | Dropdown-style parameter. Whether to collect all replies. |
limit_records | No | 10 | spider_parameters | Integer greater than or equal to 0. Maximum reply count. |
comments_sort | No | All comments | spider_parameters | Dropdown-style parameter. Comment sorting mode. |
file_name | No | {{TasksID}} | Builder form field | Use the default when the user does not change it. |
Also ask: "Do you want to collect multiple Facebook post comment groups? If yes, provide multiple groups of url, get_all_replies, limit_records, and comments_sort."
If the user has already provided some values, show those values in place of the defaults and only ask whether the remaining/defaulted values should be changed.
Show these dropdown options as Markdown tables with both Label and Value columns.
get_all_replies options:
| Label | Value |
|---|---|
| True | True |
| Flase | Flase |
comments_sort options:
| Label | Value |
|---|---|
| 最相关 | Most Relevent |
| 由新到旧 | Newest |
| 所有评论 | All comments |
url.url cannot be empty.url must start with https://www.facebook.com/.get_all_replies defaults to True. Allowed values are True and Flase.limit_records defaults to 10. It must be an integer greater than or equal to 0."limit_records":"10".comments_sort defaults to All comments. Allowed values are Most Relevent, Newest, and All comments.file_name defaults to {{TasksID}}. If the user changes it, submit the user-provided value.file_name cannot be empty.Single-group example:
spider_parameters=[{"url":"https://www.facebook.com/share/p/1K6xfHFkrK/","get_all_replies":"True","limit_records":"10","comments_sort":"All comments"}]
Multi-group example:
spider_parameters=[{"url":"https://www.facebook.com/share/p/1K6xfHFkrK/","get_all_replies":"True","limit_records":"10","comments_sort":"All comments"},{"url":"https://www.facebook.com/share/p/1K6xfHFkrK/","get_all_replies":"True","limit_records":"10","comments_sort":"All comments"}]
Use form fields rather than hand-built URL-encoded strings.
https://scraperapi.dataify.com/builder?platform=1POSTBearer DATAIFY_API_TOKENapplication/x-www-form-urlencodedspider_name=facebook.comspider_id=facebook_comment_by-comments-urlspider_errors=truefile_name={{TasksID}}spider_parameters must be a JSON string array of comment parameter objects.For stable execution, prefer scripts/submit_dataify_facebook_comment_by_url.py with Python 3.6 or newer instead of rewriting the Builder flow.
python3 ".\scripts\submit_dataify_facebook_comment_by_url.py" --url "https://www.facebook.com/share/p/1K6xfHFkrK/"
To override the saved environment token or file name:
python3 ".\scripts\submit_dataify_facebook_comment_by_url.py" --url "https://www.facebook.com/share/p/1K6xfHFkrK/" --get-all-replies "True" --limit-records "10" --comments-sort "All comments" --file-name "{{TasksID}}"
To submit multiple groups:
python3 ".\scripts\submit_dataify_facebook_comment_by_url.py" --params-json '[{"url":"https://www.facebook.com/share/p/1K6xfHFkrK/","get_all_replies":"True","limit_records":"10","comments_sort":"All comments"},{"url":"https://www.facebook.com/share/p/1K6xfHFkrK/","get_all_replies":"True","limit_records":"10","comments_sort":"All comments"}]'
The script prints a JSON summary with spider_id, task_id, status, parameters, file_name and message.
url cannot be empty means the required Facebook post URL is missing.
url must start with https://www.facebook.com/ means the URL is outside the allowed Facebook domain.
Unsupported get_all_replies means the value must be True or Flase.
limit_records must be an integer greater than or equal to 0 means the reply count is invalid.
Unsupported comments_sort means the value must be Most Relevent, Newest, or All comments.
File name cannot be empty means no usable file_name was provided.
Necessary parameters is empty! usually means the Builder request was not submitted as form fields, spider_parameters was not a JSON string array, or one spider_parameters object is missing required fields.
Missing task_id usually means the authorization header, token, spider_name, spider_id, or spider_parameters is wrong.
file_name inside spider_parameters.https://www.facebook.com/.API TOKEN and DATAIFY_API_TOKEN when referring to authentication.The default deliverable is the collected result, not only a task_id.
task_id.$dataify-task-operations and monitor the same task ID.
--timeout 1800 for media downloads or clearly high-volume, multi-page, or multi-input collections.--no-wait behavior.python3 scripts/submit_dataify_facebook_comment_by_url.py --help
export for macOS/Linux shells, $env: for Windows PowerShell, or set for Windows Command Prompt). Show other platforms or persistent setup only when detection is ambiguous or the user asks.DATAIFY_API_TOKEN is present; never print its value. If verification succeeds, continue the original task without asking the user to repeat it..env unless the execution path explicitly loads it, and ensure .env is ignored by version control.