2012-03-06 62 views
0

基本上,我刚刚开始为我们的网站获取Facebook Open Graph操作的一些开发。现在我已经成功实现了Facebook动作和对象,但由于Facebook文档没有展示很多高级示例,所以我们在这里陷入困境。Facebook开放图前操作认证

我想在页面上有一个按钮,将行动发布到用户的墙上。不过,如果用户未登录Facebook或验证Facebook应用程序,则JavaScript会引发错误。

使用Facebook文档中的示例,这是我到目前为止在我的页面上的内容。

我的问题是我如何适应这个检测用户是否登录到Facebook和/或与我的Facebook应用程序进行身份验证?如果用户未被检测到登录/认证,则显示一个登录按钮而不是下面的共享按钮。

如果Facebook已登录,是否可以显示分享按钮,就像使用下面的代码时一样?

<script type="text/javascript"> 
function shareme() 
{ 
FB.api('/me/gradtouch:discover&company=URL','post', 
       function(response) { 
     if (!response || response.error) { 
       alert('Error occured'); 
     } else { 
      alert('Post was successful! Action ID: ' + response.id); 
      } 
    }); 
} 
</script> 

感谢感激任何帮助,指导或即使它在那里我可以阅读更多的关于我怎么能写的东西能做到这一点的方向。

回答

1

即使世界一些方法来检测用户是否登录或没有,可能是最有用的是订阅“auth.statusChange”事件

http://developers.facebook.com/docs/reference/javascript/FB.Event.subscribe/

这应该被称为当FB SDK完成初始化,具有用户状态(无论他们是否已登录到FB,他们是否已添加您的应用程序,他们是否完全没有登录..请参阅:http://developers.facebook.com/docs/reference/javascript/FB.getLoginStatus/

然后,您可以显示相关按钮,如果您需要用户登录,只需使用权限y调用FB.login()即可如果他们的登录状态发生变化(即他们选择添加应用程序),则需要再次调用您的事件处理程序。 )

+0

非常感谢这个!希望不太了解这个文档,但快速浏览非常有用。干杯! – GradTouch 2012-03-07 12:45:03