2010-09-21 89 views
5

是否有任何fb标签我可以用来环绕我的html锚标记,以便如果用户没有登录,他们会得到访问链接之前提示登录?Facebook的连接需要登录一些链接

我在后端使用python/django。

谢谢, 大卫

+0

这是什么,iframe fb应用程序?还是独立站点? – serg 2010-09-22 00:09:11

+0

此时它与FB无关,就像任何授权的访问过程一样,如果你有一个有效的会话继续,否则提示 – ifaour 2011-01-11 23:36:19

回答

0

你只需要一个if语句来检查一个Facebook会话是否存在与否。如果不将它们重定向到登录页面。

-Roozbeh

0

首先,我认为你必须创建一个Facebook应用程序。

其次:如果您使用PHP进行编程,则应使用PHP SDK。

参见:https://developers.facebook.com/docs/reference/php/

三:使用的getUser方法: https://developers.facebook.com/docs/reference/php/facebook-getUser/

我几乎可以肯定的getUser将返回0,如果用户不接受你的应用程序,所以IMO它不是在Facebook上找到用户连接状态的最佳方法

此外,getLoginStatusUrl能帮助,有了这个功能,你可以根据在Facebook上用户状态使重定向,并且再想一个机制,以显示或不基于参数和会话变量的内容(这是一个想法)。

参见:https://developers.facebook.com/docs/reference/php/facebook-getLoginStatusUrl/

希望有所帮助。

0

使用JavaScript API,您将希望使用FB.getLoginStatus来环绕锚标签。见https://developers.facebook.com/docs/reference/javascript/FB.getLoginStatus/

实例从该页面:

FB.getLoginStatus(function(response) { 
    if (response.status === 'connected') { 
    // the user is logged in and connected to your 
    // app, and response.authResponse supplies 
    // the user's ID, a valid access token, a signed 
    // request, and the time the access token 
    // and signed request each expire 
    var uid = response.authResponse.userID; 
    var accessToken = response.authResponse.accessToken; 
    } else if (response.status === 'not_authorized') { 
    // the user is logged in to Facebook, 
    //but not connected to the app 
    } else { 
    // the user isn't even logged in to Facebook. 
    } 
}); 

注:我只想做这个调用了前面,并设置自己的JS布尔变量的响应,所以我没有使用FB API调用再次。然后用简单的JS布尔测试包装任何相关的代码。