未捕获的错误... FB.Auth.setAuthResponse仅与OAuth2兼容

时间:2011-10-17 20:35:55

标签: facebook login oauth-2.0

在使用新的Javascrip SDK for facebook时,我在尝试

时收到以下错误
(function() {
var e = document.createElement('script'); e.async = true;
e.src = document.location.protocol +
  '//connect.facebook.net/en_US/all.js';
document.getElementById('fb-root').appendChild(e);}());
window.fbAsyncInit = function(e) {
var curLoc = window.location;
var channel = curLoc.protocol + "//" + curLoc.hostname + (curLoc.pathname).substr(0,(curLoc.pathname).lastIndexOf('/')) + "/channel.html";
FB.init({ appId: APP_ID, 
    status: true, 
    cookie: true,
    xfbml: true,
    channelUrl: channel,
    oauth: true});
FB.getLoginStatus(isUserLoggedIn);
FB.Canvas.setAutoGrow();}
  

未捕获错误:FB.Auth.setAuthResponse仅与OAuth2兼容

这是什么原因?我的应用程序处于SSL模式,我似乎无法弄清楚为什么会出现该错误。

2 个答案:

答案 0 :(得分:4)

这绝对是JS SDK包含的唯一地方吗?检查复制/粘贴Like按钮初始化代码等

我已经看到当人们在URL中包含JS SDK以及一些参数(即包括//connect.facebook.net/en_US/all.js#appid=x某处)时会发生此错误 - 这会覆盖一些FB.init调用中的参数可能导致您收到的错误消息

答案 1 :(得分:1)

在我的情况下,我必须将oauth2设置为true。该错误来自另一个使用oauth2的facebook插件(我们都应该这样,所有fb文档都应该反映出来,geez)并且与oauth1 fb会话冲突。