Facebook Connect需要登录某些链接

时间:2010-09-21 21:52:49

标签: facebook

是否有任何fb标签我可以用来包裹我的html锚标签,这样如果用户没有登录,他们会在访问链接之前被提示登录?

我在后端使用python / django。

谢谢, 大卫

3 个答案:

答案 0 :(得分:0)

您只需要一个if语句来检查是否存在facebook会话。如果没有将它们重定向到登录页面。

-Roozbeh

答案 1 :(得分: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/

希望有所帮助。

答案 2 :(得分: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变量boolean,这样我就不必再次使用FB API调用了。然后使用简单的JS布尔测试包装任何依赖代码。