2012-07-29 65 views
2

删除回调我目前正在创建一个应用程序,添加到Facebook页面的选项卡。该文件是在这里:Facebook应用程序从页面

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

但对于应用程序被删除的文件没有提及的回调。是否有这样的回调,当我的应用程序被删除了一个可以用来更新我的记录的选项卡时,会提醒我?

如果重要,我目前使用PHP。

+0

没有,没有这样的回调。你究竟想要达到什么样的目标?当这种情况发生时,你想要什么类型的数据_updated_? – CBroe 2012-07-30 09:13:02

+0

我将页面的ID存储在数据库中,并将其与应用程序关联。我试图删除该ID,如果该应用程序从标签中删除。 – 2012-07-30 11:19:38

+0

这对你的工作流程来说真的很重要吗?还是你只是想“节省空间”?后者不会那么重要,我猜。 – CBroe 2012-07-30 11:21:38

回答

0

我不相信只有一个这样的回调,如果用户取消给你的应用程序第一次的权限。

当您尝试权威性下一次用户在您的网站和权威性不那么成功,你知道他们有两种:

Deauthed您的应用程序
  • 或FB或令牌
    • 没有被用于60天

    因此,用户应该重新启动您的应用程序。

    编辑:按网站我的意思是应用程序。英语失败。

  • +0

    为什么downvote?如果你能找到这样的回调,你为什么不给出答案? – Sammaye 2012-07-30 09:54:30

    +1

    是真的,没有回调从tab选项通知中删除,仅适用于应用程序删除,这是取消授权回调,根据文档 – 2012-07-30 10:25:04

    +0

    @luca真的吗?所以当用户从应用程序部分删除应用程序时,会有回调?你能为此显示文档页面吗? – Sammaye 2012-07-30 12:29:17

    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

    哈,所以你的权利,不知道我怎么没有在文档和用户界面中看到+1 – Sammaye 2012-07-31 07:33:25

    +0

    在我的经验中,取消授权回调是在用户删除应用程序时调用的,但我从来没有看到它在页面管理器从他们的页面中删除应用的标签。我相信这是一个关于删除标签的小问题的不正确答案。 – 2016-02-13 18:05:15

    相关问题