2

現在、Facebook ページのタブに追加するアプリの作成に取り組んでいます。ドキュメントは次のとおりです。

http://developers.facebook.com/docs/appsonfacebook/pagetabs/

ただし、ドキュメントには、アプリケーションのコールバックが削除されたことについては何も言及されていません。レコードを更新するために使用できるタブがアプリケーションから削除されたときに警告するようなコールバックはありますか?

問題があれば、私は現在 PHP を使用しています。

4

2 に答える 2

3

アプリに移動します: 管理ページ -> 設定の編集 -> 詳細設定、コールバック URL の認証解除

コードでユーザーの認証を解除する方法の PHP の例を次に示します。

require_once(dirname(dirname(dirname(__FILE__))).'/autoload.php');
App::init();
DBConn::init();
error_log("request");

$app_secret = 'yoursecretkey';
$request = parse_signed_request($_POST['signed_request'], $app_secret);
$fbid=$request["user_id"];
error_log($fbid);
if ($fbid) {
    $rec = new ADOdb_Active_Record( "users" );
    $found=$rec->load("id=?",array($fbid));
    if ($found){
        $rec->deauth= 1;
        $rec->save();
    }
}
echo "ok";

function parse_signed_request($signed_request, $secret) {
    list($encoded_sig, $payload) = explode('.', $signed_request, 2);

    // decode the data
    $sig = base64_url_decode($encoded_sig);
    $data = json_decode(base64_url_decode($payload), true);

    if (strtoupper($data['algorithm']) !== 'HMAC-SHA256') {
        error_log('Unknown algorithm. Expected HMAC-SHA256');
        return null;
    }

    // check sig
    $expected_sig = hash_hmac('sha256', $payload, $secret, $raw = true);
    if ($sig !== $expected_sig) {
        error_log('Bad Signed JSON signature!');
        return null;
    }

    return $data;
}

function base64_url_decode($input) {
    return base64_decode(strtr($input, '-_', '+/'));
}
于 2012-07-30T18:12:44.940 に答える
0

ユーザーが最初にアプリに権限を与えることをキャンセルした場合にのみ、そのようなコールバックがあるとは思いません。

次にサイトでユーザーを認証しようとして、認証が成功しない場合は、ユーザーが次のいずれかを持っていることがわかります。

  • アプリの認証を解除しました
  • または、fb トークンが 60 日間使用されていない

そのため、ユーザーはアプリを再認証する必要があります。

編集:サイトではアプリを意味します。英語の失敗。

于 2012-07-29T16:54:06.913 に答える