curl \
-H "Authorization: Bearer API_KEY" \
-H 'Content-Type: application/json' \
-d '{"platforms": ["bluesky", "facebook", "instagram", "linkedin", "twitter", "youtube"], "comment": "An amazing reply!"}' \
-X POST https://api.ayrshare.com/api/comments/reply/Ut1fWU6XkqkMayHGnJZ
const API_KEY = "API_KEY";
fetch("https://api.ayrshare.com/api/comments/reply/Ut1fWU6XkqkMayHGnJZ", {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${API_KEY}`,
},
body: JSON.stringify({
platforms: ["bluesky", "facebook", "instagram", "linkedin", "twitter", "youtube"], // required
comment: "An amazing comment!", //required
}),
})
.then((res) => res.json())
.then((json) => console.log(json))
.catch(console.error);
import requests
payload = {'platforms': ['bluesky', 'facebook', 'instagram', 'linkedin', 'twitter', 'youtube'],
'comment': 'An amazing comment!'}
headers = {'Content-Type': 'application/json',
'Authorization': 'Bearer API_KEY'}
r = requests.post('https://api.ayrshare.com/api/comments/reply/Ut1fWU6XkqkMayHGnJZ',
json=payload,
headers=headers)
print(r.json())
<?php
$apiUrl = 'https://api.ayrshare.com/api/comments/reply/Ut1fWU6XkqkMayHGnJZ';
$apiKey = 'API_KEY'; // Replace 'API_KEY' with your actual API key
$headers = [
'Content-Type: application/json',
'Authorization: Bearer ' . $apiKey,
];
$data = json_encode([
'platforms' => ['bluesky', 'facebook', 'instagram', 'linkedin', 'twitter', 'youtube'],
'comment' => 'An amazing comment!'
]);
$curl = curl_init($apiUrl);
curl_setopt_array($curl, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => $headers,
CURLOPT_POSTFIELDS => $data
]);
$response = curl_exec($curl);
if ($response === false) {
echo 'Curl error: ' . curl_error($curl);
} else {
echo json_encode(json_decode($response), JSON_PRETTY_PRINT);
}
curl_close($curl);
package main
import (
"bytes"
"encoding/json"
"log"
"net/http"
)
func main() {
message := map[string]interface{}{
"platforms": []string{"bluesky", "facebook", "instagram", "linkedin", "twitter", "youtube"}, // required
"comment": []string{"An amazing comment!"} // required
}
bytesRepresentation, err := json.Marshal(message)
if err != nil {
log.Fatalln(err)
}
req, _ := http.NewRequest("POST", "https://api.ayrshare.com/api/comments/reply/Ut1fWU6XkqkMayHGnJZ",
bytes.NewBuffer(bytesRepresentation))
req.Header.Add("Content-Type", "application/json; charset=UTF-8")
req.Header.Add("Authorization", "Bearer API_KEY")
res, err := http.DefaultClient.Do(req)
if err != nil {
log.Fatal("Error:", err)
}
res.Body.Close()
}
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
namespace CommentsReplyPOSTRequest_csharp
{
class CommentsReply
{
static async Task Main(string[] args)
{
string API_KEY = "API_KEY";
string url = "https://api.ayrshare.com/api/comments/reply/Ut1fWU6XkqkMayHGnJZ";
using (var httpClient = new HttpClient())
{
httpClient.DefaultRequestHeaders.Add("Authorization", "Bearer " + API_KEY);
var json = @"{
""platforms"": [""bluesky"", ""facebook"", ""instagram"", ""linkedin"", ""twitter"", ""youtube""],
""comment"": [""An amazing comment!""]
}";
var content = new StringContent(
json,
Encoding.UTF8,
"application/json"
);
try
{
var response = await httpClient.PostAsync(url, content);
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
catch (HttpRequestException e)
{
Console.WriteLine($"Error: {e.Message}");
}
}
}
}
}
{
"commentId": "Eh61xHheGHvAqXqGISGVa",
"bluesky": {
"status": "success",
"commentId": "at://did:plc:62musrcyanhro2lydyhlw7ci/app.bsky.feed.post/3lf4bquqrxd2d",
"cid": "bafyreie2jt5iw6rk2ekmiq6aljyiv7nj4sjucbpkamqc73tmggh5fmrqha",
"comment": "Truth is ever to be found in simplicity.",
"platform": "bluesky",
"postUrl": "https://bsky.app/profile/ayrshare.com/post/3lf4bquqrxd2d",
"sourceCommentId": "at://did:plc:62musrcyanhro2lydyhlw7ci/app.bsky.feed.post/3lf4b4j3dqy2i"
},
"facebook": {
"status": "success",
"commentId": "729149842469573_696560159169326",
"sourceCommentId": "729149842469573_738966840899770",
"comment": "Truth is ever to be found in simplicity.",
"platform": "facebook"
},
"instagram": {
"status": "success",
"commentId": "18020060386920755",
"sourceCommentId": "17998452434360734",
"comment": "Truth is ever to be found in simplicity.",
"platform": "instagram"
},
"linkedin": {
"status": "success",
"commentId": "7140161360574713856",
"sourceCommentId": "urn:li:ugcPost:7140160850354397187",
"comment": "Truth is ever to be found in simplicity.",
"platform": "linkedin"
},
"tiktok": {
"status": "success",
"commentId": "7484295933044572922",
"sourceCommentId": "7484407021429703422",
"comment": "Truth is ever to be found in simplicity.",
"platform": "tiktok",
"videoId": "7484993689815715122"
},
"twitter": {
"status": "success",
"commentId": "1734395672961441821",
"sourceCommentId": "1734395509526155733",
"comment": "Truth is ever to be found in simplicity.",
"platform": "twitter",
"postUrl": "https://twitter.com/ayrshare/status/1734395672961441821"
},
"youtube": {
"status": "success",
"commentId": "UgxZ55j-FDri8lrTgVR4AaABAg.9yCaV71m1fo9yCaZvu7Hj4",
"sourceCommentId": "UgxZ55j-FDri8lrTgVR4AaABAg",
"comment": "Truth is ever to be found in simplicity.",
"platform": "youtube"
},
"status": "success",
"id": "ytDgi5vyz36F2yshlJka"
}
{
"facebook": {
"action": "post",
"status": "error",
"code": 215,
"message": "Error posting comment. Please be sure you are posting a valid comment, the original post exists, the original post is publicly available."
},
"code": 215,
"status": "error",
"errors": [
{
"action": "post",
"status": "error",
"code": 215,
"message": "Error posting comment. Please be sure you are posting a valid comment, the original post exists, the original post is publicly available.",
"platform": "facebook"
}
],
"id": "5360106757501_178916202161"
}
Comments
回复评论
对评论进行评论
POST
/
comments
/
reply
/
:commentId
curl \
-H "Authorization: Bearer API_KEY" \
-H 'Content-Type: application/json' \
-d '{"platforms": ["bluesky", "facebook", "instagram", "linkedin", "twitter", "youtube"], "comment": "An amazing reply!"}' \
-X POST https://api.ayrshare.com/api/comments/reply/Ut1fWU6XkqkMayHGnJZ
const API_KEY = "API_KEY";
fetch("https://api.ayrshare.com/api/comments/reply/Ut1fWU6XkqkMayHGnJZ", {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${API_KEY}`,
},
body: JSON.stringify({
platforms: ["bluesky", "facebook", "instagram", "linkedin", "twitter", "youtube"], // required
comment: "An amazing comment!", //required
}),
})
.then((res) => res.json())
.then((json) => console.log(json))
.catch(console.error);
import requests
payload = {'platforms': ['bluesky', 'facebook', 'instagram', 'linkedin', 'twitter', 'youtube'],
'comment': 'An amazing comment!'}
headers = {'Content-Type': 'application/json',
'Authorization': 'Bearer API_KEY'}
r = requests.post('https://api.ayrshare.com/api/comments/reply/Ut1fWU6XkqkMayHGnJZ',
json=payload,
headers=headers)
print(r.json())
<?php
$apiUrl = 'https://api.ayrshare.com/api/comments/reply/Ut1fWU6XkqkMayHGnJZ';
$apiKey = 'API_KEY'; // Replace 'API_KEY' with your actual API key
$headers = [
'Content-Type: application/json',
'Authorization: Bearer ' . $apiKey,
];
$data = json_encode([
'platforms' => ['bluesky', 'facebook', 'instagram', 'linkedin', 'twitter', 'youtube'],
'comment' => 'An amazing comment!'
]);
$curl = curl_init($apiUrl);
curl_setopt_array($curl, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => $headers,
CURLOPT_POSTFIELDS => $data
]);
$response = curl_exec($curl);
if ($response === false) {
echo 'Curl error: ' . curl_error($curl);
} else {
echo json_encode(json_decode($response), JSON_PRETTY_PRINT);
}
curl_close($curl);
package main
import (
"bytes"
"encoding/json"
"log"
"net/http"
)
func main() {
message := map[string]interface{}{
"platforms": []string{"bluesky", "facebook", "instagram", "linkedin", "twitter", "youtube"}, // required
"comment": []string{"An amazing comment!"} // required
}
bytesRepresentation, err := json.Marshal(message)
if err != nil {
log.Fatalln(err)
}
req, _ := http.NewRequest("POST", "https://api.ayrshare.com/api/comments/reply/Ut1fWU6XkqkMayHGnJZ",
bytes.NewBuffer(bytesRepresentation))
req.Header.Add("Content-Type", "application/json; charset=UTF-8")
req.Header.Add("Authorization", "Bearer API_KEY")
res, err := http.DefaultClient.Do(req)
if err != nil {
log.Fatal("Error:", err)
}
res.Body.Close()
}
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
namespace CommentsReplyPOSTRequest_csharp
{
class CommentsReply
{
static async Task Main(string[] args)
{
string API_KEY = "API_KEY";
string url = "https://api.ayrshare.com/api/comments/reply/Ut1fWU6XkqkMayHGnJZ";
using (var httpClient = new HttpClient())
{
httpClient.DefaultRequestHeaders.Add("Authorization", "Bearer " + API_KEY);
var json = @"{
""platforms"": [""bluesky"", ""facebook"", ""instagram"", ""linkedin"", ""twitter"", ""youtube""],
""comment"": [""An amazing comment!""]
}";
var content = new StringContent(
json,
Encoding.UTF8,
"application/json"
);
try
{
var response = await httpClient.PostAsync(url, content);
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
catch (HttpRequestException e)
{
Console.WriteLine($"Error: {e.Message}");
}
}
}
}
}
{
"commentId": "Eh61xHheGHvAqXqGISGVa",
"bluesky": {
"status": "success",
"commentId": "at://did:plc:62musrcyanhro2lydyhlw7ci/app.bsky.feed.post/3lf4bquqrxd2d",
"cid": "bafyreie2jt5iw6rk2ekmiq6aljyiv7nj4sjucbpkamqc73tmggh5fmrqha",
"comment": "Truth is ever to be found in simplicity.",
"platform": "bluesky",
"postUrl": "https://bsky.app/profile/ayrshare.com/post/3lf4bquqrxd2d",
"sourceCommentId": "at://did:plc:62musrcyanhro2lydyhlw7ci/app.bsky.feed.post/3lf4b4j3dqy2i"
},
"facebook": {
"status": "success",
"commentId": "729149842469573_696560159169326",
"sourceCommentId": "729149842469573_738966840899770",
"comment": "Truth is ever to be found in simplicity.",
"platform": "facebook"
},
"instagram": {
"status": "success",
"commentId": "18020060386920755",
"sourceCommentId": "17998452434360734",
"comment": "Truth is ever to be found in simplicity.",
"platform": "instagram"
},
"linkedin": {
"status": "success",
"commentId": "7140161360574713856",
"sourceCommentId": "urn:li:ugcPost:7140160850354397187",
"comment": "Truth is ever to be found in simplicity.",
"platform": "linkedin"
},
"tiktok": {
"status": "success",
"commentId": "7484295933044572922",
"sourceCommentId": "7484407021429703422",
"comment": "Truth is ever to be found in simplicity.",
"platform": "tiktok",
"videoId": "7484993689815715122"
},
"twitter": {
"status": "success",
"commentId": "1734395672961441821",
"sourceCommentId": "1734395509526155733",
"comment": "Truth is ever to be found in simplicity.",
"platform": "twitter",
"postUrl": "https://twitter.com/ayrshare/status/1734395672961441821"
},
"youtube": {
"status": "success",
"commentId": "UgxZ55j-FDri8lrTgVR4AaABAg.9yCaV71m1fo9yCaZvu7Hj4",
"sourceCommentId": "UgxZ55j-FDri8lrTgVR4AaABAg",
"comment": "Truth is ever to be found in simplicity.",
"platform": "youtube"
},
"status": "success",
"id": "ytDgi5vyz36F2yshlJka"
}
{
"facebook": {
"action": "post",
"status": "error",
"code": 215,
"message": "Error posting comment. Please be sure you are posting a valid comment, the original post exists, the original post is publicly available."
},
"code": 215,
"status": "error",
"errors": [
{
"action": "post",
"status": "error",
"code": 215,
"message": "Error posting comment. Please be sure you are posting a valid comment, the original post exists, the original post is publicly available.",
"platform": "facebook"
}
],
"id": "5360106757501_178916202161"
}
回复评论,即对评论进行评论。可以回复通过 Ayrshare 发表的评论(使用 Ayrshare 评论 ID),也可以回复在 Ayrshare 外部发表的评论(使用社交评论 ID)。
大多数情况下你会回复通过 Ayrshare 发表的评论,但当你想回复在 Ayrshare 外部发表的评论时,可以使用社交评论 ID,它可以通过 GET /comment 端点获取。
支持的平台:Bluesky、Facebook、Instagram、LinkedIn、TikTok、X 和 YouTube。
各平台的详细提及语法和限制请参见:
Reddit 不支持回复评论。各平台的提及规则和建议请参见帖子校验。
请求头参数
路径参数
如果要回复通过 Ayrshare 发表的评论,请使用 POST comment 端点 返回的 Ayrshare 评论 ID 如果要回复在 Ayrshare 外部发表的评论,请使用来自社交网络的社交评论 ID
commentId。例如,POST comment 端点 返回的 Ayrshare 评论 ID commentId 为:Ayrshare Comment ID Returned from POST /comment
{
"commentId": "Ut1fWU6XkqkMayHGnJZ"
}
commentId。例如,Facebook 的 POST /comment 或 GET /comment 端点返回的社交评论 ID commentId 为:Social Comment ID Returned from POST /comment
{
"facebook": { "commentId": "8392829334_1234567890" }
}
请求体参数
如果要使用 Ayrshare 评论 ID 回复通过 Ayrshare 发表的评论,请指定要发布回复的平台。支持的平台:
bluesky、facebook、instagram、linkedin、tiktok、twitter、youtube。如果要使用社交评论 ID 回复在 Ayrshare 外部发表的评论,请指定要发布回复的单一平台。支持的平台:facebook、instagram、linkedin、tiktok、twitter。要添加到评论中的回复。
通过提供图片 URL 附加一张图片。仅支持一张图片。仅 Facebook 和 LinkedIn。
如果要使用社交评论 ID 回复 TikTok 评论,还必须提供 TikTok 视频 ID,可从 POST /comment 端点 或 GET /comment 端点获得。
仅在 TikTok 且
"searchPlatformId": true 时必填。以对象形式响应,否则以数组形式响应。默认为
true。评论中的 @提及
你可以直接在comment 文本字符串中添加 @提及。没有专门的提及参数。只需在评论文本中添加 @handle 即可。
Reply with @Mention
{
"comment": "Thanks @CompanyName! Great insight.",
"platforms": ["linkedin", "twitter", "facebook"]
}
LinkedIn 提及: LinkedIn 提及由 Ayrshare 在服务端解析。请使用 LinkedIn 搜索端点查找正确的自定义名(vanity name)或成员名。对于组织,使用
@handle。对于成员,使用 @vanity_name 或 @[Full Name]。curl \
-H "Authorization: Bearer API_KEY" \
-H 'Content-Type: application/json' \
-d '{"platforms": ["bluesky", "facebook", "instagram", "linkedin", "twitter", "youtube"], "comment": "An amazing reply!"}' \
-X POST https://api.ayrshare.com/api/comments/reply/Ut1fWU6XkqkMayHGnJZ
const API_KEY = "API_KEY";
fetch("https://api.ayrshare.com/api/comments/reply/Ut1fWU6XkqkMayHGnJZ", {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${API_KEY}`,
},
body: JSON.stringify({
platforms: ["bluesky", "facebook", "instagram", "linkedin", "twitter", "youtube"], // required
comment: "An amazing comment!", //required
}),
})
.then((res) => res.json())
.then((json) => console.log(json))
.catch(console.error);
import requests
payload = {'platforms': ['bluesky', 'facebook', 'instagram', 'linkedin', 'twitter', 'youtube'],
'comment': 'An amazing comment!'}
headers = {'Content-Type': 'application/json',
'Authorization': 'Bearer API_KEY'}
r = requests.post('https://api.ayrshare.com/api/comments/reply/Ut1fWU6XkqkMayHGnJZ',
json=payload,
headers=headers)
print(r.json())
<?php
$apiUrl = 'https://api.ayrshare.com/api/comments/reply/Ut1fWU6XkqkMayHGnJZ';
$apiKey = 'API_KEY'; // Replace 'API_KEY' with your actual API key
$headers = [
'Content-Type: application/json',
'Authorization: Bearer ' . $apiKey,
];
$data = json_encode([
'platforms' => ['bluesky', 'facebook', 'instagram', 'linkedin', 'twitter', 'youtube'],
'comment' => 'An amazing comment!'
]);
$curl = curl_init($apiUrl);
curl_setopt_array($curl, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => $headers,
CURLOPT_POSTFIELDS => $data
]);
$response = curl_exec($curl);
if ($response === false) {
echo 'Curl error: ' . curl_error($curl);
} else {
echo json_encode(json_decode($response), JSON_PRETTY_PRINT);
}
curl_close($curl);
package main
import (
"bytes"
"encoding/json"
"log"
"net/http"
)
func main() {
message := map[string]interface{}{
"platforms": []string{"bluesky", "facebook", "instagram", "linkedin", "twitter", "youtube"}, // required
"comment": []string{"An amazing comment!"} // required
}
bytesRepresentation, err := json.Marshal(message)
if err != nil {
log.Fatalln(err)
}
req, _ := http.NewRequest("POST", "https://api.ayrshare.com/api/comments/reply/Ut1fWU6XkqkMayHGnJZ",
bytes.NewBuffer(bytesRepresentation))
req.Header.Add("Content-Type", "application/json; charset=UTF-8")
req.Header.Add("Authorization", "Bearer API_KEY")
res, err := http.DefaultClient.Do(req)
if err != nil {
log.Fatal("Error:", err)
}
res.Body.Close()
}
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
namespace CommentsReplyPOSTRequest_csharp
{
class CommentsReply
{
static async Task Main(string[] args)
{
string API_KEY = "API_KEY";
string url = "https://api.ayrshare.com/api/comments/reply/Ut1fWU6XkqkMayHGnJZ";
using (var httpClient = new HttpClient())
{
httpClient.DefaultRequestHeaders.Add("Authorization", "Bearer " + API_KEY);
var json = @"{
""platforms"": [""bluesky"", ""facebook"", ""instagram"", ""linkedin"", ""twitter"", ""youtube""],
""comment"": [""An amazing comment!""]
}";
var content = new StringContent(
json,
Encoding.UTF8,
"application/json"
);
try
{
var response = await httpClient.PostAsync(url, content);
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
catch (HttpRequestException e)
{
Console.WriteLine($"Error: {e.Message}");
}
}
}
}
}
{
"commentId": "Eh61xHheGHvAqXqGISGVa",
"bluesky": {
"status": "success",
"commentId": "at://did:plc:62musrcyanhro2lydyhlw7ci/app.bsky.feed.post/3lf4bquqrxd2d",
"cid": "bafyreie2jt5iw6rk2ekmiq6aljyiv7nj4sjucbpkamqc73tmggh5fmrqha",
"comment": "Truth is ever to be found in simplicity.",
"platform": "bluesky",
"postUrl": "https://bsky.app/profile/ayrshare.com/post/3lf4bquqrxd2d",
"sourceCommentId": "at://did:plc:62musrcyanhro2lydyhlw7ci/app.bsky.feed.post/3lf4b4j3dqy2i"
},
"facebook": {
"status": "success",
"commentId": "729149842469573_696560159169326",
"sourceCommentId": "729149842469573_738966840899770",
"comment": "Truth is ever to be found in simplicity.",
"platform": "facebook"
},
"instagram": {
"status": "success",
"commentId": "18020060386920755",
"sourceCommentId": "17998452434360734",
"comment": "Truth is ever to be found in simplicity.",
"platform": "instagram"
},
"linkedin": {
"status": "success",
"commentId": "7140161360574713856",
"sourceCommentId": "urn:li:ugcPost:7140160850354397187",
"comment": "Truth is ever to be found in simplicity.",
"platform": "linkedin"
},
"tiktok": {
"status": "success",
"commentId": "7484295933044572922",
"sourceCommentId": "7484407021429703422",
"comment": "Truth is ever to be found in simplicity.",
"platform": "tiktok",
"videoId": "7484993689815715122"
},
"twitter": {
"status": "success",
"commentId": "1734395672961441821",
"sourceCommentId": "1734395509526155733",
"comment": "Truth is ever to be found in simplicity.",
"platform": "twitter",
"postUrl": "https://twitter.com/ayrshare/status/1734395672961441821"
},
"youtube": {
"status": "success",
"commentId": "UgxZ55j-FDri8lrTgVR4AaABAg.9yCaV71m1fo9yCaZvu7Hj4",
"sourceCommentId": "UgxZ55j-FDri8lrTgVR4AaABAg",
"comment": "Truth is ever to be found in simplicity.",
"platform": "youtube"
},
"status": "success",
"id": "ytDgi5vyz36F2yshlJka"
}
{
"facebook": {
"action": "post",
"status": "error",
"code": 215,
"message": "Error posting comment. Please be sure you are posting a valid comment, the original post exists, the original post is publicly available."
},
"code": 215,
"status": "error",
"errors": [
{
"action": "post",
"status": "error",
"code": 215,
"message": "Error posting comment. Please be sure you are posting a valid comment, the original post exists, the original post is publicly available.",
"platform": "facebook"
}
],
"id": "5360106757501_178916202161"
}
⌘I
