【问题标题】:Set Javascript API accessToken设置 Javascript API accessToken
【发布时间】:2012-02-21 05:48:12
【问题描述】:

我正在开发一个 Facebook 应用程序。我有一个服务器端 OAuth 流程,它允许我对用户进行身份验证,而无需他单击任何按钮。因此,只要其他信息,我就会检索他的 accessToken,并在生成页面之前在 服务器端 使用这些信息。

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

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

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

感谢您的帮助!

【问题讨论】:

    标签: javascript api access-token facebook-oauth


    【解决方案1】:

    我曾经遇到过类似的问题,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
      }
    });
    

    希望有帮助!

    【讨论】:

    • 效果很好!仅供参考,看来我们不需要将令牌设置为全局变量。非常感谢您的帮助!
    • 非常感谢!有同样的问题,这在几秒钟内就解决了!你为我节省了 HOURS 的工作时间。
    • 谢谢 - 这帮助很大!
    猜你喜欢
    • 2013-05-21
    • 2017-08-11
    • 2015-08-07
    • 2016-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-10
    相关资源
    最近更新 更多