Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
设置Javascript API访问令牌_Javascript_Api_Access Token_Facebook Oauth - Fatal编程技术网

设置Javascript API访问令牌

设置Javascript API访问令牌,javascript,api,access-token,facebook-oauth,Javascript,Api,Access Token,Facebook Oauth,我正在开发一个Facebook应用程序。我有一个服务器端OAuth流,它允许我对用户进行身份验证,而不需要他点击任何按钮。因此,我检索他的accessToken以及其他信息,并在生成页面之前使用服务器端的这些信息 在我的应用程序中,我现在需要使用Javascript API,它可以在技术上共享相同的Oauth令牌 是否可以使用给定的Oauth令牌实例化FBJavaScript对象 我知道可以做相反的事情,即在客户端执行Oauth进程,并通过cookie与服务器端共享Oauth密钥,但我认为这有两

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

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

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

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


谢谢你的帮助

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

希望有帮助

真是太棒了!仅供参考,我们似乎不需要将令牌设置为全局变量。非常感谢你的帮助!非常感谢!有同样的问题,这解决了它在几秒钟!你帮我省了几个小时的工作。谢谢-这帮了我很大的忙!