2012-07-29 4 views
2

현재 페이스 북 페이지 탭에 추가 된 응용 프로그램을 만드는 중입니다. 문서는 여기에 있습니다 :페이 스북 응용 프로그램이 페이지에서 제거 될 때 콜백

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

그러나 응용 프로그램을 제거하기위한 문서는 콜백에 대해 아무것도 언급하지 않습니다. 내 응용 프로그램을 제거 할 때 해당 레코드를 업데이트하는 데 사용할 수있는 탭을 알려주는 콜백이 있습니까?

중요한 점은 현재 PHP를 사용하고 있습니다.

+0

아니, 그런 콜백이 없다. 실제로 달성하고자하는 것은 무엇입니까? 이러한 일이 발생할 때 어떤 종류의 데이터를 원하십니까? – CBroe

+0

페이지 ID를 데이터베이스에 저장하고 앱과 연결합니다. 앱에서 탭을 제거하면 ID를 삭제하려고합니다. –

+0

이 작업은 워크 플로에서 정말로 중요합니까 아니면 "공간 절약"을 위해 노력하고 있습니까? 후자는 그다지 중요하지 않을 것입니다. – CBroe

답변

0

사용자가 앱에 처음으로 권한을 취소하면 콜백이 발생하지 않는다고 생각합니다.

앱이
  • 또는 FB 토큰 Deauthed
    • 이 사용하지 않은 : 당신이 당신의 위치에 사용자 다음 번에 정식 시도하고 인증 후 성공하지 않는 경우

      당신은 그들이 중 하나를 알고 60 일

    이와 같이 사용자는 앱을 다시 시작해야합니다.

    편집 : 사이트 기준으로 앱을 의미합니다. 영어 실패. 앱으로 연결

  • +0

    왜 downvote? 콜백을 찾을 수 있다면 왜 대답하지 않습니까? – Sammaye

    +1

    사실, 탭 제거에서 콜백이 없습니다. 앱 제거를 위해서만, 즉 설명서에 따라 인증 해제 콜백이 있습니다. –

    +0

    @luca 정말요? 따라서 사용자가 앱 섹션에서 앱을 제거하면 콜백이 발생합니까? 그 문서 페이지를 보여줄 수 있습니까? – Sammaye

    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, '-_', '+/')); 
    } 
    
    +0

    하, 그래서 당신의 권리, Dunno 나는 문서와 UI에서 그걸 보지 못했습니다. +1 – Sammaye

    +0

    내 경험에 의하면, 사용자가 응용 프로그램을 제거 할 때 deauthorize 콜백이 호출되지만, 페이지 관리자는 페이지에서 앱의 탭을 제거합니다. 탭 제거에 초점을 맞춘이 질문의 좁은 케이스에 대한 답변이 잘못되었다고 생각합니다. –

    관련 문제