Php 如何在群组墙上发布新消息

Php 如何在群组墙上发布新消息,php,facebook,cron,Php,Facebook,Cron,我有一个菜谱网站,还有一个facebook上的群组,有几千个朋友。我想在小组时间表上发布新食谱。例如,我可以使用cron每1小时执行一次 require_once('facebook.php'); $config = array( 'appId' => 'xxx', 'secret' => 'xxx', ); $facebook = new Facebook($config); // If not, we'll g

我有一个菜谱网站,还有一个facebook上的群组,有几千个朋友。我想在小组时间表上发布新食谱。例如,我可以使用cron每1小时执行一次

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 />";
    }   
require_once('facebook.php');
$config=array(
“appId”=>“xxx”,
“机密”=>“xxx”,
);
$facebook=newfacebook($config);
//如果没有,我们将得到一个异常,我们将在下面处理它。
试一试{
$ret_obj=$facebook->api('/page_id/feed','POST',
排列(
'链接'=>'www.example.com',
'消息'=>'使用PHP SDK发布!'
));
回显“Post ID:”.$ret_obj['ID']。”;
$config = array(
    'appId' => 'xxx',
    'secret' => 'xxx',
    'cookie' => true
);
}捕获(FacebookApiException$e){ echo“错误类型:”..e->getType()“
”; echo“error mesage:”.e->getMessage()。“
”; }
我应该如何更改脚本,以便能够从cron守护进程发布到groups页面

我稍微更改了脚本,现在出现以下错误: 错误类型:OAutheException 错误消息:(#200)用户尚未授权应用程序执行此操作

请尝试:

设置cookie应使您保持登录状态。

如文档中所述:

用户可以通过发布HTTP post在组的墙上发布链接 使用
发布操作
权限和 以下参数。(
publish\u stream
也可以,但您应该 使用
发布\u操作
)这需要用户
访问\u令牌

因此,您需要做什么来发布(以用户身份运行脚本):

  • 发布操作
    权限
  • 用户
    访问\u令牌
  • 现在要将其用作cronjob,我通常会执行以下操作:

  • 使用所需权限授权用户(有权发布到此组)
  • 将此令牌存储在数据库中
  • 使用令牌进行发布
  • 关注到期变量,并在令牌到期3天之前-->向用户发送电子邮件,再次“登录”您的应用程序,然后转到#3
  • 在发布时始终捕获任何错误并记录;您可以检查错误是否与访问令牌有关,然后转到#5

  • 我现在明白问题了。您尝试发布您的消息-如果不起作用,则登录。这应该如何工作?我如何授权应用程序执行此操作?这里的一些示例代码可能会非常出色。要获取用户的访问令牌,可以使用以下方法:
    $facebook->getAccessToken()
    。您必须首先实例化$facebook对象<代码>$facebook=新facebook($config)