通过CURL发布到Facebook页面

时间:2012-11-20 15:23:54

标签: php facebook post curl

我已经设置了一个脚本,通过PHP将消息发布到我的Facebook页面

它在过去的两年里工作了

现在,它没有通知就停止了工作。

我正确地获得access_token但第二部分返回此错误

{"error":{"message":"An unknown error has occurred.","type":"OAuthException","code":1}}

这是代码

$url = "https://graph.facebook.com/oauth/access_token";
$postString = "client_id=KEY&client_secret=SECRET&type=client_cred";
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_FAILONERROR, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $postString);
$access_token = str_replace( "access_token=", "", curl_exec($curl) );


$titolo = 'Test';
$link_pulito = 'test.html';
$testo_fb = 'Test';

$attachment =  array(
        'access_token' => $access_token,
        'message' => 'MESSAGE',
        'name' => 'test',
        'link' => 'http://www.test.com/workshop/',
        'description' => 'test test test',
        'picture'=>'http://www.test.com/77818763a19937bdd82b25f26cef2522.jpg'
        );

// set the target url
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,'https://graph.facebook.com/MYPAGE/feed');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $attachment);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, false);  //to suppress the curl output 

$result= curl_exec($ch);
curl_close ($ch);

1 个答案:

答案 0 :(得分:4)

Facebook改变了租赁代币的方式。 请使用https://github.com/facebook/facebook-php-sdk

中的facebook PHP SDK