用PHP更新Facebook墙
我有一个博客系统,我希望用户能够在那里发布Facebook墙,而不必登录Facebook。我希望它通过Facebook提供的PHP SDK实现 这是我为创建的Facebook应用程序授予的权限:用PHP更新Facebook墙,php,facebook-graph-api,Php,Facebook Graph Api,我有一个博客系统,我希望用户能够在那里发布Facebook墙,而不必登录Facebook。我希望它通过Facebook提供的PHP SDK实现 这是我为创建的Facebook应用程序授予的权限: https://www.facebook.com/dialog/oauth?client_id=xxxxxxxx&redirect_uri=http://www.mydomain.com/facebook/index/&scope=offline_access,publish_strea
https://www.facebook.com/dialog/oauth?client_id=xxxxxxxx&redirect_uri=http://www.mydomain.com/facebook/index/&scope=offline_access,publish_stream,read_stream,manage_pages
只是为了澄清权限:脱机访问、发布流、读取流、管理页面
以下代码仅在用户登录时有效。否则我会得到这个错误:
FacebookApiException[0]:必须使用活动访问令牌来查询有关当前用户的信息。
public function facebook()
{
require_once('facebook/php-sdk-3.0.0/src/facebook');
// Create our Application instance.
$facebook = new Facebook(array(
'appId' => 'xxxxxxxxxxxxx',
'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxx',
'cookie' => true,
));
$attachment = array(
'access_token' => $facebook->getAccessToken(),
'message' => 'this is my message',
'name' => 'This is my demo Facebook application!',
'caption' => "Caption of the Post",
'link' => 'http://www.google.com',
'description' => 'Test of application PHP',
'picture' => 'http://www.lalibre.be/img/logoLaLibre.gif',
'actions' => array(array(
'name' => 'Get Search',
'link' => 'http://www.google.com')
)
);
$result = $facebook->api('/me/feed/','post',$attachment);
print_r($facebook->getAccessToken());
}
为了张贴到某人的墙上,您的应用程序必须具有该用户的墙张贴权限。为了获得这些权限,用户必须登录facebook并授予您访问权限
更多信息:另外,如果你想在用户未登录时发布,你需要“脱机访问”。也许我不理解你的问题,但是如果用户未登录,他们将如何发布到他们的Facebook墙?这似乎是一个不可避免的先决条件。我正在使用我创建的Facebook应用程序。再加上Facebook上的PHPSDK,你就可以更新用户的防火墙了。由于应用程序具有更新墙的权限,因此似乎不需要用户也必须登录。如果您有用户id,请尝试此
$facebook->api('/user\u id/feed/','post',$attachment)代码>如果您查看我的帖子,您可以看到我已向应用程序授予了该权限。如果您查看我的帖子,您可以看到我已向应用程序授予了相应的权限