Javascript Facebook API自动贴在墙上

Javascript Facebook API自动贴在墙上,javascript,php,facebook,sdk,Javascript,Php,Facebook,Sdk,我有一个要求,我需要在墙上自动发布一些更新。用户已经授予了发布\u操作的权限,我的用户ID存储在数据库中。现在,通过使用一些cron作业,我想用一些照片或链接来更新这些用户 我尝试了以下代码: <?php $config = array(); $config['appId'] = 'XXX'; $config['secret'] = 'XXX'; $config['fileUpload'] = false; // optional $faceboo

我有一个要求,我需要在墙上自动发布一些更新。用户已经授予了
发布\u操作的权限
,我的用户ID存储在数据库中。现在,通过使用一些cron作业,我想用一些照片或链接来更新这些用户

我尝试了以下代码:

<?php
    $config = array();
    $config['appId'] = 'XXX';
    $config['secret'] = 'XXX';
    $config['fileUpload'] = false; // optional

    $facebook = new Facebook($config);
    $session = $facebook->getUser();
    $result = $facebook->api(array(
        'method' => 'users.setStatus',
        'status' => 'Hello World',
        'uid' => '123', /// user_id 
        'session' => $session,
            ));
?>

这可以很好地工作,但它不能作为提要或照片共享链接。使用JS Sdk是有可能的,但FB似乎从2013年2月6日起就不再使用了

有什么正确的方法可以做到这一点吗?

使用,
$facebook->api()
第一个参数需要一个端点
/me/feed
/me/photos
,而第二个参数是方法
GET
POST
DELETE
,第三个是要随调用一起发送的参数数组,请尝试:

$session = $facebook->getUser();
if ($session) {

      $p = array( 'message'      => 'Hello World',
                  'access_token' => 'CAAA...' ); // a valid access token with publish_action permission
      $result = $facebook->api('/me/feed', 'POST', $p);

} else { 

      $loginUrl = $facebook->getLoginUrl();
      header('Location:'. $loginUrl);

}

您使用的是哪个版本的
PHP-SDK
users.setStatus
不受欢迎。我在其他一些问题中发现了该代码。SDK很旧,所以没有确切的版本,是否可以使用最新的SDK或javascript SDK?为什么不?但是我更喜欢v3.0,因为它更容易实现。我也试过你的代码,但正如我说的,我有用户ID,没有用户会话。状态更新工作正常,但对于照片,它会抛出错误
致命错误:未捕获OAuthException:请求此资源需要用户访问令牌。
。我试着这样做:
$result=$facebook->api('/123456/photos',POST',$p)
我没有添加
access\u token
,因为您的代码具有
getUser()
这表明用户通过oAuth对话框获得授权,无论如何,我将更新回答一些重要的附加信息(最好将其添加到回答中):消息参数必须是100%用户生成的。你不允许放任何你想要的东西,你也不能预先填充。您必须向用户提供一个空文本字段,用户可以在其中输入自己的消息。