我有一个有食谱的网站,而且该网站在Facebook上有几千个朋友的小组。我想在群组时间轴上发布新的食谱。我可以每隔1小时用cron做一次。
require_once('facebook.php');
$config = array(
'appId' => 'xxx',
'secret' => 'xxx',
);
$facebook = new Facebook($config);
// If not, we'll get an exception, which we handle below.
try {
$ret_obj = $facebook->api('/page_id/feed', 'POST',
array(
'link' => 'www.example.com',
'message' => 'Posting with the PHP SDK!'
));
echo '<pre>Post ID: ' . $ret_obj['id'] . '</pre>';
} catch(FacebookApiException $e) {
echo "error type: ". $e->getType()."<br />";
echo "error mesage: ". $e->getMessage()."<br />";
}
如何更改脚本以便能够从cron守护程序发布到组页面?
我稍微更改了脚本,现在我有这个错误: 错误类型:OAuthException 错误消息:(#200)用户尚未授权应用程序执行此操作
答案 0 :(得分:0)
尝试:
$config = array(
'appId' => 'xxx',
'secret' => 'xxx',
'cookie' => true
);
设置cookie应该让您保持登录状态。
答案 1 :(得分:0)
正如文件here中所述:
用户可以通过发布HTTP POST在群组墙上发布链接 使用
/GROUP_ID/feed
权限和publish_actions
请求publish_stream
以下参数。 (publish_actions
也可以,但你应该这样做 使用access_token
。)这需要用户publish_actions
。
所以你需要做的就是发布(以用户身份运行你的脚本):
access_token
权限现在使用它作为cronjob,我通常会执行以下操作: