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%用户生成的。你不允许放任何你想要的东西,你也不能预先填充。您必须向用户提供一个空文本字段,用户可以在其中输入自己的消息。