0

我知道有很多关于 facebook 和 php sdk 的问题,抓取并获取一些信息。但我有不同的问题。

想象我已经做了一切。

由 fb javascript sdk + php 和 ajax 授权的用户,将基本信息存储在数据库中并忘记了 facebook。现在我的用户可以使用我的数据库登录 Facebook 信息。

在我的数据库中,我有:

id  user_fb     say_smth    access  register    mail    limitTime   count

注意有 user_fb,这是 facebook id。

当用户登录时,我创建会话并使用 jquery/ajax/json 解析获取它

// Cache hit
// $start   = microtime(true);
$res = $mysqli->query("/*" . MYSQLND_QC_ENABLE_SWITCH . "*/" . "SELECT fb_id, email, password FROM sp_signup WHERE email = '{$email}' AND password = '{$passw}' LIMIT 1");

$check_row      = $res->num_rows;
$check_array    = $res->fetch_assoc();

$res->free();

if ($check_row == 0)
{

print json_encode( array("status" => "user does not exists", "code" => 10) );

} else {
if ( ! isset($_SESSION) )
{
    session_start();
    $_SESSION[ "dh_user_fb" ] = $check_array["fb_id"];

    print json_encode( array("status" => "", "code" => 4, "session" => $_SESSION[ "dh_user_fb" ]) );
} else {
    print json_encode( array("status" => "", "code" => 4, "session" => null) );
}

} // 结束码

和jquery ajax成功方法

var gotJson = jQuery.parseJSON(jsonR);

var code = gotJson['code'];
var status = gotJson['status'];
var session = gotJson['session'];

if ( session == null ){

if ( code == 11 ){

    $("#email_try").html(status).fadeIn(600);
                                                $("#email_try").html(status).fadeOut(2200);

    } else if ( code == 12 || code == 10 ) {

$("#passw_try").html(status).fadeIn(600);
                                                $("#passw_try").html(status).fadeOut(2200);

    } else {
                                                // 
    }

}

所以当用户进入时,有 $_SESSION["fb_id"];

我需要通过 php 登录用户相册并将其复制到我的本地 ftp 或从 facebook 获取 src。这不是必需品。

我只感兴趣,如果有任何机会在没有访问令牌和登录等的情况下执行此操作,我只想通过 fb_id 执行此操作

谢谢...

4

1 回答 1

0

不调用 api 是无法直接获取的。

获得用户访问他的照片的权限

$loginLink = $facebook->getLoginUrl(array(
    'scope' => 'user_photos,user_photo_video_tags'
));

然后使用此 api 获取用户照片:

$photos = $facebook->api('/me/photos?access_token=' . $token);
于 2013-02-15T06:01:19.863 回答