5

我已经设置了一个脚本来通过 PHP 将新闻发布到我的 facebook 页面

在过去的 2 年里一直有效

现在,在没有通知的情况下它停止了工作。

我正确地得到了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);
4

1 回答 1

4

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

于 2012-11-20T15:31:12.623 回答