审批工作流
如果你的发布工作流需要在发送帖子之前进行审批,请将requiresApproval 字段设置为 true。
这相当于暂停帖子,直到 approved 参数被设置为 true。
审批工作流示例
帖子将处于 “awaiting approval” 状态,直到通过 /post PATCH 端点 将approved 参数设置为 true。
使用参数发布
使用 /post 端点 发布你的帖子,将
requiresApproval 字段
设为 true。你还可以包含标准参数,例如 scheduleDate。批准帖子
使用 /post PATCH 操作 更新帖子,将
approved
字段设为 true。帖子现在将在预定时间发送。Publish the Post with Approval
审批工作流视频
请参见下方视频,了解审批工作流的示例。自动话题标签
向你的帖子添加最相关的话题标签。autoHashtag 是一个对象或布尔值(见下方),包含以下参数:
max:(可选)要添加的话题标签数量的整数,范围 1-10。默认 2。position:(可选)字符串 “auto” 或 “end”。“auto” 将话题标签添加到帖子内或 末尾。“end” 仅将话题标签添加到末尾。
true 代替对象。
自动重发
按固定间隔多次自动重发你的内容,创建保持新鲜且对受众可见的常青内容。 需要付费套餐。 参数:repeat:(必填)重发内容的次数。必须在 1 到 10 之间。days:(必填)每次重发之间的天数。必须至少 2 天。startDate:(可选)何时开始重发日程,采用 ISO-8601 UTC 格式。如未指定,首次帖子将立即发布。你应该使用startDate参数代替顶层的scheduleDate参数。
Auto Repost
autoRepostId。
Auto Repost Response
autoRepostId 来跟踪这一系列帖子。
你可以使用带 autoRepostId 的 History 调用 获取某个帖子的所有自动重发。
如果需要删除某个重发,可以使用带帖子 ID 的 DELETE 调用。
首个评论
在帖子发布后自动添加带媒体的首个评论。对于 TikTok,评论会延迟到视频处理完成后(参见 首个评论处理时间)。 在自己的社交媒体帖子上发布首个评论有助于启动互动并为后续讨论定下基调。首个评论处理时间
对于大多数社交网络,API 响应会延迟,因为我们的系统必须 (1) 等待原始帖子完全发布,然后 (2) 将评论添加到已发布的帖子。这个顺序处理过程会增加大约 20 秒的延迟。 TikTok 的处理方式不同。 TikTok 异步处理视频,因此在 TikTok 的post.publish.publicly_available webhook 解析真实视频 ID 之前,帖子 id 是 "pending"(参见 TikTok 处理)。因此 /post 响应会立即返回 TikTok 首个评论,status: "pending",一旦 TikTok 完成处理并且 tikTokPublished Scheduled Action webhook 触发,评论就会自动发布。TikTok 不保证处理时间,因此没有固定的延迟。
TikTok 重要说明:为了让首个评论在 TikTok 上正常工作,帖子的 visibility 参数必须设为 public。非公开视频永远不会收到 publicly_available webhook,因此无法发布其首个评论;在这种情况下 Ayrshare 返回评论错误而不是将其保留为待处理状态。
幂等帖子
幂等性 是一项可选功能,可以确保请求只被执行一次,即使意外发送了多次。 使用 API 发布内容时,你可以在请求正文中包含可选的idempotencyKey 参数以唯一标识该操作。这可以让你安全地重试发布请求,而没有创建重复帖子的风险。
要使用幂等性,请将 idempotencyKey 参数添加到 /post POST 请求的 JSON 正文中:
Idempotency Key
idempotencyKey 的值应该是每个用户配置文件的唯一字符串。如果对给定用户配置文件使用相同的 idempotencyKey 发出请求,无论帖子的状态如何(success、error、pending 或 deleted),都会返回错误,表明发现了重复的键。
使用幂等性有助于防止在重试失败请求或处理网络问题时意外创建重复帖子。但仍建议你在应用程序中实现适当的错误处理和重试机制,以优雅地处理潜在的失败。
图片和视频要求
发布图片和视频对每个网络都有不同的要求,但不用担心。我们的系统会在发送前验证你的帖子,如果有任何问题,你会收到错误响应。请参见以下链接了解图片和视频指南的详细信息。图片和视频指南
有效 URL
请确保你的媒体 URL 有效并直接访问媒体。 第一步测试是在浏览器中尝试该 URL。 如果图片无法在浏览器中加载或下载,很可能会失败。 例如,打开 DropBox Web 应用的 DropBox URL 将无法工作。 我们通过发出HEAD 请求来验证媒体 URL。
请确保托管提供商没有阻止 HEAD 请求,否则帖子将失败并返回 403 错误。
例如,这是对媒体 URL 的 HEAD 请求:
Fetch HEAD Request
自动化媒体保护
Ayrshare 包含内置的媒体保护,可以在发布过程中检测并解决某些媒体传送问题。当帖子成功但检测到并解决了内容问题时,postIds[] 中每个受影响的条目都包含一个可选的 contentIssues 对象,以便你识别并修复根本问题:
originMediaHostFailed,请检查你的媒体托管配置。有关常见原因和解决方案,请参见 Meta 媒体爬虫被阻止。
空格和特殊字符
我们建议在你的媒体 URL 中避免以下内容:- URL 中的空格。
- URL 中的 URL 编码空格。
- URL 中的特殊字符,即使它们经过 URL 编码,例如重音符号 é。
test .webp 而失败。我们也不建议使用 URL 编码的空格,例如 %20,在 URL 中 - 这在某些社交网络上也可能引起问题。
以及此 Unsplash 图片:
清理文件名和 URL
你可以使用正则表达式/[^a-z0-9\/\.]/gi 清理文件名。
附加信息
- 如果你自行托管,请确保 URL 可以外部访问且不需要 特殊权限。
- 请参见下方关于如何处理未知扩展名的视频(通常是签名 URL,如 AWS S3)。
- 如果你使用签名 URL(如 S3),我们建议将 URL 过期时间至少设为 7 天。这样我们的团队可以协助解答你在发布帖子时的任何问题。
- 使用我们的 验证媒体工具 测试媒体 URL 是否存在。
下载速度
请确保你的媒体托管具有快速连接,特别是下载速度。你可以在 pingdom 测试你的媒体托管性能。我们建议至少 B 评级。视频扩展名
如果你的 URL 不是以已知的视频扩展名(如mp4)结尾,你可以在帖子中使用 isVideo: true 字段指定 mediaUrl 是视频。Ayrshare 将尝试确定文件类型,例如 MOV。但是,我们建议显式地以已知扩展名(如 mp4)结束你的视频文件,因为这在社交网络上的成功率更高。
仅图片或视频
一些社交网络支持发送不带帖子文本的媒体。如果你不希望包含帖子文本,请发送空字符串:post: ""
以下社交网络支持无帖子/空白文本:Facebook、Instagram、LinkedIn、Threads、TikTok 和 X/Twitter。
测试图片和视频
考虑使用 生成随机文本和随机图片或视频 来加速你的测试。不要再为每个测试帖子思考不同的内容了!换行
如果你想在帖子中使用换行(新行),请使用不可见换行符
\u2063\n。例如,This is a new\u2063\nline.我们也建议在 Postman 中尝试,看看新行换行符在你选择的语言中如何翻译。例如,PHP 通常仅使用 \n一些社交网络目前不支持帖子文本中的换行。多平台帖子和媒体
此功能允许你在单个 API 调用中为不同的社交网络自定义帖子内容和媒体。你可以通过对post 和 mediaUrls 字段使用对象来为每个平台指定唯一的文本和/或图片。
- 对
post和/或mediaUrls字段使用对象结构。 - 使用平台名称作为键指定特定于平台的内容。
- 包含
default键,用于未明确指定的平台上使用的内容。
- Instagram 将使用其特定的文本和图片 URL。
- Facebook 将使用其特定的文本和默认图片 URL。
- LinkedIn 将使用默认文本和其特定的图片 URL。
如果你需要向不同平台发布多张图片,请为每个平台
创建单独的帖子,而不是使用此多平台结构。
Profile Keys
通过提供用户的 Profile Keys 作为正文参数以及响应中的附加数据,代表用户发布。需要 Business 或 Enterprise 计划。Profiles
富文本帖子
你可以添加富文本,例如 ”𝓗𝓮𝓵𝓵𝓸, how about a little 𝗯𝗼𝗹𝗱 𝘁𝗲𝘅𝘁 and 𝘪𝘵𝘢𝘭𝘪𝘤𝘴 𝘵𝘦𝘹𝘵 and an x₂?”。你可以在诸如 Twitter、Facebook、LinkedIn、Telegram 和 Instagram 等网络上使用富文本。 如果发布到 Reddit,请使用 Reddit 风格的 Markdown 格式。 HTML 元素用于指定富文本的类型,并被转换为 unicode。例如:HTML 元素
| HTML | 示例 |
|---|---|
| <b>Nice One!</b> | Nice One! |
| <strong>Hello, world!</strong> | Hello, world! |
| <em>World</em> | World |
| normal <i>italics <b>bold italics</b></i> | normal italics bold italics |
| `<b>Hello</b>, world!` | Hello, world! |
| `<b>Hello</b>, world!` | Hello, world! |
| <samp>123</samp> | 𝟷𝟸𝟹 |
| <var>Hello</var> | 𝓗𝓮𝓵𝓵𝓸 |
| x<sub>2</sub> | x₂ |
| x<sup>2</sup> | x² |
CSS 代码
| 代码 | 示例 | 结果 |
|---|---|---|
| \u00B0 | It’s 25\u00B0C today! | It’s 25°C today! |
| \u2063\n | This is a new\u2063\nline. | This is a new line. |
安排帖子
创建已安排帖子
你可以通过指定scheduleDate 参数(采用 Zulu/UTC 时间)来安排未来的帖子。Zulu 时间也称为协调世界时(UTC),是世界时间标准。
例如,使用格式 YYYY-MM-DDThh:mm:ssZ 并按 2026-07-08T12:30:00Z 发送。
更多示例请参见 utctime。
如果已安排的帖子包含
mediaUrl,则媒体必须在安排的
发布时间可用。例如,如果帖子安排在 2026 年 3 月 5 日发布,
媒体必须在 2026 年 3 月 5 日可用。检查已安排帖子的状态
你可以通过几种方式检查已安排帖子的状态:- 设置 Webhook 已安排操作 以自动 接收已安排帖子的状态。此功能可用于 Business 计划,是 推荐的方法。
- 使用带帖子 ID 的 GET 调用 获取已安排帖子的状态。
- 在 Ayrshare 仪表板中检查状态。首先切换到帖子作为 发布下的用户配置文件,然后转到 “Posts” 页面并使用 Ayrshare 帖子 ID 进行搜索。
暂停已安排帖子
你可以暂停尚未发布的已安排帖子。 暂停已安排的帖子会阻止其在被取消暂停之前发布。 使用 PATCH 调用 暂停或取消暂停已安排的帖子。 请注意,如果取消暂停的帖子的scheduleDate 在过去,帖子将立即发布。考虑在取消暂停前更新 scheduleDate。
缩短链接
帖子中的链接可以使用 Ayrshare 链接缩短器 缩短。你可以在发送帖子时通过shortenLinks 参数打开自动链接缩短。需要 Max Pack。
Unsplash 图片
unsplash 正文参数可用以下字段:
- 随机图片:
random返回随机 Unsplash 图片。 - 基于搜索的图片:值为字符串搜索词;例如
money将根据 money 选择一个随机图片 。 - 图片 ID:值为 ID 数组;例如 [“HubtZZb2fCM”] 图片 https://unsplash.com/photos/HubtZZb2fCM
如果复制 Unsplash URL 以在
mediaUrls 中发布,请务必复制图片地址而
不仅仅是 URL。有关更多信息,请参见此
示例。