Facebook PHP API发布回溯时间帖子失败,created_time参数无效
解决Facebook Graph API无法设置回溯时间发布帖子的问题
首先要明确一个关键限制:Facebook Graph API的created_time字段是只读的,你无法通过传入这个参数来指定帖子的发布时间,所以代码里的created_time参数会被API直接忽略,帖子自然会以实际调用接口的时间作为发布时间。
为什么会这样?
created_time是Facebook用来记录帖子实际创建时间的字段,它由平台自动生成,不支持开发者手动修改。- 对应v2.12版本的官方文档里明确标注了该字段为只读属性,仅用于返回数据,不能作为请求参数传入。
你的代码问题分析
你传入的linkData数组里包含了created_time,但这个参数不属于Post接口的可写参数列表,所以API不会处理它:
$linkData = [ 'link' => "https://www.example.com/article.php?id=1", 'message' => "My Test", 'created_time' => "2018-05-01T18:06:28+0000", // 这个参数会被忽略 'description' => "My description", ];
可行的替代方案
如果你需要展示历史内容,目前没有办法通过API发布回溯时间的帖子,不过可以试试这些方式:
- 在帖子的
message或description里明确说明内容的实际发布时间,比如:"My Test - 内容发布于2018-05-01" - 如果是需要定时发布未来的内容,可以使用API的定时发布功能(设置
published为false,并指定scheduled_publish_time参数),但这个仅支持未来时间,不支持过去的时间。
总结:Facebook平台出于内容真实性和反滥用的考虑,禁止发布回溯时间的帖子,所以你的需求目前无法通过Graph API实现。
内容的提问来源于stack exchange,提问作者Mann87
相关产品推荐
相关产品推荐

