计划以PHP cURL

时间:2015-05-15 10:03:10

标签: php facebook facebook-graph-api curl

我一直在尝试使用PHP cURL在预定日期/时间向Facebook发布状态。

我正在使用参数scheduled_publish_timepublished=false的unix时间戳值。在Facebook,我可以看到我的帖子在特定时间安排。

但遗憾的是,当时没有任何内容发布,Facebook仍然会将消息显示为"下一篇文章预定#time"即使经过了一段时间。

代码:

<?php
  $facebook_page_id='xxx';    
  $facebook_page_access_token="xxx";

  //Facebook page post
  $status='scheduled post'; 
  $fb_page_post="https://graph.facebook.com/{$facebook_page_id}/feeds?message=$status&scheduled_publish_time=1431683900&published=false&access_token=$facebook_page_access_token";

  $ch=curl_init();
  curl_setopt($ch, CURLOPT_URL, $fb_page_post);
  curl_setopt($ch, CURLOPT_POST, true);
  curl_setopt($ch, CURLOPT_REFERER, '');
  curl_setopt($ch, CURLOPT_ENCODING, 'gzip,deflate');
  curl_setopt($ch, CURLOPT_AUTOREFERER, true);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($ch, CURLOPT_TIMEOUT, 10);

  $fb_page_post = json_decode(curl_exec($ch));
  curl_close($ch);

  var_dump($fb_page_post);

当我通过终端和var_dump()运行此脚本时,它给出了一个输出:

object(stdClass)#2 (2) {
["id"]=>
string(16) "1414369492218829"
["post_id"]=>
string(33) "1387602394895539_1414369492218829"
}

这是什么解决方案?我需要做出哪些必要的改变?

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

删除published=false。这意味着不应创建任何Feed故事, at

仅使用scheduled_publish_time 是创建预定帖子所需的内容,该帖子仅在达到指定时间戳时显示在页面的时间轴上。

https://developers.facebook.com/docs/graph-api/common-scenarios#scheduledposts