douhu1990 2011-12-22 23:28
浏览 40

访问令牌 - 我如何获得它们?

I have a simple question: How can I get a users access token??

I only need the basic information, so when a user clicks on "allow" on my page, I want to be able to get That users picture/username etc.

To do this i need to fetch the access token of that user.

  • 写回答

2条回答 默认 最新

  • doushoubu5360 2011-12-23 00:00
    关注

    If you're using PHP the access Token is available to your application after a successfull user login. That means that you should write the code to do that. Personally I have a simple PHP page (fblogin.php) that I open in a new window, here's the code (it uses facebook sdk, be sure to download it, also remember to create an application in facebook in case you dont have one)

    require_once ('facebook/src/facebook.php');
    
    // handel cancel
    if (isset($_REQUEST['error_reason'])) {
         echo("<script>self.close();</script>");
         exit;
    }
    
    // ger request params
    $code = $_REQUEST["code"];
    $my_url = 'http://www.yourdomain.com/fblogin.php';
    $api_key = 'YOURAPIKEY';
    $secret = 'YOURSECRETCODE';
    
    // build login url
    $loginUrl = $facebook->getLoginUrl(array(
        'req_perms' => 'email,user_birthday',
        'display' => 'popup',
        'redirect_uri' => 'http://www.yourdomain.com/fblogin.php'
        ));
    
    // if no facebook code is given, write login back againg to the window
    if(empty($code)) {
    
        echo("<script> top.location.href='" . $loginUrl . "'</script>");
        exit;
    
    } else {
    
            //set token for facebook object from graph
            $token_url = "https://graph.facebook.com/oauth/access_token?"
               . "client_id=" . $api_key . "&redirect_uri=" . urlencode($my_url)
               . "&client_secret=" . $secret . "&code=" . $code;
    
            $response = @file_get_contents($token_url);
            $params = null;
            parse_str($response, $params);
    
            $facebook->setAccessToken($params['access_token']);
            $fbme = $facebook->api('/me', 'GET');
    
    
    
            if ($fbme) {
                // YOU got the user, id, token, etc. 
                            // do anything you want here,
            } 
    
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 关于用pyqt6的项目开发该怎么把前段后端和业务层分离
  • ¥30 线性代数的问题,我真的忘了线代的知识了
  • ¥15 有谁能够把华为matebook e 高通骁龙850刷成安卓系统,或者安装安卓系统
  • ¥188 需要修改一个工具,懂得汇编的人来。
  • ¥15 livecharts wpf piechart 属性
  • ¥20 数学建模,尽量用matlab回答,论文格式
  • ¥15 昨天挂载了一下u盘,然后拔了
  • ¥30 win from 窗口最大最小化,控件放大缩小,闪烁问题
  • ¥20 易康econgnition精度验证
  • ¥15 msix packaging tool打包问题