私のサイトでは、ユーザーがそのテキストをFacebookのステータスとして直接投稿できるように、下にボタンのあるテキストがいくつかあります。フォームPOSTリクエストを使用して、そのステータスをfbappに投稿します。
問題は、ユーザーが初めてこの機能を使用し、ユーザーが許可した後に Apps Request for permission ウィンドウが表示され、FORM アクションで設定された fbapp ページが表示され、POST 経由で送信したテキストがそのページに NULL 値として投稿されることです。
しかし、ユーザーがこの機能を再度使用すると (つまり、許可ウィンドウが表示されない)、ステータスとして正常に投稿された fbapp ページのテキストに直接移動します。
使用されるコードは次のとおりです。
<?php if(isset($_POST['mystatus']))
{
$status = $_POST['mystatus'];
}
require_once 'facebook.php';
$facebook = new Facebook(array(
'appId' => xxxxxx,
'secret' => xxxxxxxxxx,
));
$user = $facebook->getUser();
if($user) {
} else {
$params = array(
'scope' => 'publish_stream'
);
$loginUrl = $facebook->getLoginUrl($params);
header('location:' .$loginUrl);
} ?>
<html>
<body>
if ($user) {
...................................
rest of the usual php sdk code here
....................................
}
else {
echo("<script> top.location.href='" . $loginUrl . "'</script>");
}
</body>
</html>
ユーザーが既にこの機能のアプリと使用へのアクセス許可を 2 回目に付与している場合、アプリのアクセス許可の要求ウィンドウに、テキスト ステータスが投稿され$_POST['mystatus']
、ユーザー ID で正常に更新されたことが表示されます。
問題は、ユーザーがアプリケーションを許可した後に Apps Request for permission ウィンドウが表示され、 $_POST['mystatus']
dnt get value が表示され、ステータスがNULL
ユーザー ID のように更新された場合のみです。
これを解決する方法を教えてください。
ユーザーがアプリを許可しないか削除した場合。 また、ユーザーがアプリケーション要求を許可しない場合、ページにエラーメッセージを表示する方法を知りたいです。& 後で使用した場合、アプリケーションを削除すると、ページに次のエラーが表示されます:
Fatal error: Uncaught OAuthException: Error validating access token: User xxxxxxxxxxx has not authorized application xxxxxxxxxxxxxxxxxxx. thrown in base_facebook.php on line 1106
このエラーの代わりにカスタム メッセージをユーザーに表示する方法はありますか?