设置Javascript API accessToken

时间:2012-01-28 16:28:55

标签: javascript api access-token facebook-oauth

我正在开发一款Facebook应用。我有一个服务器端OAuth流程,它允许我验证用户,而无需他点击任何按钮。因此,我可以检索他的accessToken,只要其他信息在服务器端上使用它们,然后再生成页面。

在我的应用程序中,我现在需要使用Javascript API,它可以在技术上共享相同的 Oauth令牌。

是否可以使用给定的Oauth令牌实例化FB javascript对象?

我知道可以做相反的意思,即在客户端执行Oauth进程并通过cookie与服务器端共享Oauth密钥,但我认为这有两个缺点: _首先,它意味着有这个“登录”按钮,这对我来说不是一个Facebook应用程序的良好用户体验。 _此外,如果我的应用程序由两个不同的页面组成,我不知道这个Oauth进程应该如何表现。从一个页面转到另一个页面完全重新加载javascript。这个Oauth流程(弹出窗口等)是否会在每个页面上重新加载?

感谢您的帮助!

1 个答案:

答案 0 :(得分:9)

我有一个类似的问题,Facebook有一个名为FB.getLoginStatus的旧方法,您可以使用它来检查用户是否在没有弹出窗口的情况下给予了权限 -

FB.init({appId: 'XXXXXXXXXXXXXX', xfbml: true, cookie: true, oauth: true});
FB.getLoginStatus(function(response) {

  if (response.authResponse) {
    token = response.authResponse.accessToken;
    FB.api('/me', function(response) {
        console.log(response);
         // do something here they are logged in and have given you perms   
    });
  } else {
    // no user session available, someone you dont know
  }
});
希望有所帮助!