我正在使用以下脚本发布 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
    }
}