我创建了一个应用程序,现在我想使用新的Graph API在我的一个朋友墙上发布消息 . 这可以吗?
我已经在使用oAuth和Graph-api来获取所有朋友的列表 . http://developers.facebook.com/docs/api的API告诉我cURL https://graph.facebook.com/[userid]/feed来阅读Feed,但它也告诉我如何发布消息:
curl -F 'access_token=[...]' -F 'message=Hello, Arjun. I like this new API.' https://graph.facebook.com/arjun/feed
当然这不起作用!我无法找出原因..
这是我的PHP代码:
require_once 'facebook.php'; // PHP-SDK downloaded from http://github.com/facebook/php-sdk
$facebook = new Facebook(array(appId=>123, secret=>'secret'));
$result = $facebook->api(
'/me/feed/',
array('access_token' => $this->access_token, 'message' => 'Playing around with FB Graph..')
);
这段代码不会抛出任何错误,我知道我的access_token是正确的(否则我无法运行$ facebook-> api('/ me?access_token =' . $ this-> access_token);来获取我的userobject .
有人在那里使用Graph-api成功地发布了一条消息吗?然后我 need 你的帮助! :-)
7 回答
好的,我终于解决了这个问题 . Thanx到phpfour的帮助:-)
第一:我的connection-url看起来像这样(带有“publish_stream”):
Second ;我试图通过发布到Facebook
但正确的方法是包含一个参数('post'):
您需要"publish_stream"扩展权限才能写入Feed . 以下是它们的完整列表:http://developers.facebook.com/docs/authentication/permissions .
要获得扩展权限,请以这种方式获取授权令牌:
如链接所示:enter link description here
为了澄清,'post'这里指的是HTTP方法,如GET / POST . 见https://github.com/facebook/php-sdk/blob/master/src/base_facebook.php:protected function _graph($ path,$ method = 'GET',$ params = array())
除了 chf ,
发布后:
我收到了回复:
没有哪一个是
access_token
,client_secret
或代码这是获取访问权限的旧方法 . 在GRAPH中,我首先使用以下代码生成代码密钥:
现在,当我们有代码密钥时,我们可以从链接生成access_token:
但是这个access_token将你的消息发布为USER not APPLICATION ...为什么?!
如果您想要在应用程序墙上发布使用:
而不是使用下面的代码
使用以下解决方案