2011-04-22 156 views
0

我只是想让PHP Connector连接到Facebook,以便在页面上发布墙贴。 所以我不想把墙贴贴到墙上或其他东西上。发布到Facebook网页墙

我读过一些教程和手册,我决定使用Facebook PHP-SDK(从Naitik沙阿) https://github.com/facebook/php-sdk/

我创建Facebook的应用程序,通过它来发布wallposts。我收到appIdapi secret。我已经添加应用程序的权限到我的网页,并试图示例代码

$facebook = new Facebook(array(
    'appId' => 'my app id', 
    'secret' => 'my api secret', 
    'cookie' => false, 
    'domain' => 'domain.com' 
)); 

我从中发送API domain.com =>站点请求 未来 - >

$facebook->getSession(); 
$token = $facebook->getAccessToken(); 
$facebook->api('/123456789/feed', array(
    'access_token' => $token, 
    'link' => 'http://www.example.com' 
)); 

所以我想在页面的墙上张贴链接ID为123456789

该请求经过没有警告/错误,但没有任何东西张贴在正确的地方,没有任何返回。

感谢您对此问题的任何想法。

二手教程:

How do you post to the wall on a facebook page (not profile)
http://blog.theunical.com/facebook-integration/5-steps-to-publish-on-a-facebook-wall-using-php/
http://www.moskjis.com/other-platforms/publish-facebook-page-wall-from-your-site
http://tips4php.net/2010/12/automatic-post-to-facebook-from-php-script/

回答

2
$facebook->api('/123456789/feed', 'post', array(
    'access_token' => $token, 
    'link' => 'http://www.example.com' 
)); 

注意'post'部分。

如果你看看源通过您所提供的链接的API,你会看到:

protected function _graph($path, $method='GET', $params=array()) { 
    if (is_array($method) && empty($params)) { 
     $params = $method; 
     $method = 'GET'; 
    } 

当你没有'post'作为第二个参数和你的数组作为第三个呢,它进了get

+0

是的,你是对的。感谢Brian。现在我必须解决“OAuthException:(#200)用户没有授权应用程序执行此操作”,但这是另一个问题。无论如何谢谢:) – 2011-04-22 14:54:25

+0

@ Marek Sebera,我遇到同样的问题,你有没有找到任何解决方案。 – punit 2011-11-16 14:04:54