在Facebook上发布类似的应用程序只返回true并且什么都不做

时间:2013-02-20 10:03:27

标签: php facebook facebook-graph-api curl

我试图通过cURL获取朋友粉丝页面的供稿,并通过应用程序发布类似内容。 cURL GET工作得很好,但是当谈到喜欢这个对象时(肯定喜欢启用因为它是facebook),我得到的只是一个布尔值(并且没有动作)。 我在SO上看到你用

发布了一个类似的东西
($access_token, "https://graph.facebook.com/$post_id/likes", 'POST')

但是,它无法正常工作(它表示该应用无权执行此操作,或者说我需要有效的网址)。

我已经尝试了所有可能的解决方案,但似乎没有任何效果。配置文件是我的,访问令牌也是,我给我自己的应用程序发布了publish_stream权限。

尝试使用SDK PHP Likbrary之后,我尝试了一个直接的cURL帖子,其中包含以下代码:

function likeit($url){
 //open connection
$ch = curl_init();

curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, $url);
curl_exec($ch);
curl_close($ch); 

}

执行我是个谜题。当它没有返回OAuth Exception时,它返回boolean并停在那里(我没有办法“喜欢”我喜欢的帖子)。最后一次尝试(但是我已经尝试过所有这些,甚至是在某些测试中的整个网址)

foreach ($feeds->data as $feed_data)
$message = $feed_data->message;
$title = $feed_data->name;
$link = $feed_data->link;
$id = $feed_data->id;


    $myaccesstoken = "longlastingaccesstokenstring";
    $post=likeit($myaccesstoken, "https://graph.facebook.com/$post_id/likes", 'POST');

有人建议怎么做吗?这似乎是微不足道的,但我无法完成它。非常感谢你!

1 个答案:

答案 0 :(得分:0)

我找到了一个解决方案,因此我将其发布在此处供将来参考(希望它对任何遇到相同问题的人都有帮助): 唯一的问题是,在使用facebook的新权限后,我需要重新授权我的应用程序。

之后,可以使用SDK facebook库发布类似的内容,通常是:

             $facebook->api("/$id/likes", 'post', array( 
            'access_token'  =>  $myaccesstoken));

无需直接使用cURL。希望这可以帮助有同样问题的人。