2

私のサイトでは、ユーザーがそのテキストを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

このエラーの代わりにカスタム メッセージをユーザーに表示する方法はありますか?

4

1 に答える 1

0
于 2012-09-23T14:45:05.797 に答える