次のスクリプトを使用して、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
}
}