我正在使用以下脚本发布 Facebook 页面墙的链接:
ini_set("zend.ze1_compatibility_mode", "off");
require_once('facebook-php-sdk/src/facebook.php');
$appId = 'XXXXXXXXXXXXXX';
$secret = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXX';
$facebook = new Facebook(array('appId' => $appId, 'secret' => $secret));
$access_token = file_get_contents('https://graph.facebook.com/oauth/access_token?client_id='.$appId.'&client_secret='.$secret.'&grant_type=client_credentials');
$access_token = preg_replace('/^access_token=/', '', $access_token);
$attachment = array(
'access_token' => $access_token,
'message' => 'message text',
'link' => 'http://www.domain.com/',
'name' => utf8_encode('link title'),
'description' => utf8_encode('link description'),
'picture' => 'http://www.domain.com/images/picture.jpg'
);
$facebook->api('/XXXXXXXXXXXX/feed', 'POST', $attachment);
它工作得很好,但自 2 周以来,它开始出现以下错误,而绝对没有进行任何修改:
Fatal error: Uncaught OAuthException: An unknown error has occurred.
thrown in /path/to/public_html/facebook-php-sdk/src/base_facebook.php on line 1033
通过一些原始调试,我发现如果我注释掉数组的link
元素,$attachment
问题就会消失。然而,它导致name
在 Facebook 页面开始链接到图片文件,这绝对不是一个选项。
任何帮助将不胜感激。
更新:
我尝试通过 Graph API Explorer 执行此请求并得到相同的错误:
{
"error": {
"message": "An unknown error has occurred.",
"type": "OAuthException",
"code": 1
}
}