在选项卡中加载我的Facebook页面会显示以下错误:
FB.Auth.setAuthResponse only compatible with OAuth2.
我使用像这样的oauth参数:
FB.init({
appId: fbAppId,
status: true,
cookie: true,
xfbml: false,
oauth: true
});
我做错了吗?
答案 0 :(得分:1)
从JDK中删除参数,包括:
script src="http://connect.facebook.net/en_US/all.js"
答案 1 :(得分:0)
我在我的测试环境中遇到此问题,并将“加密访问令牌”设置切换为“已启用”,它似乎为我解决了这个问题。我为迁移做了所有这些代码工作,但没有IDEA,我不得不进入应用程序并搞乱设置。
HTH
答案 2 :(得分:0)
一些Facebook社交插件(需要实际插入JavaScript的插件)有自己的身份验证方案。新实现的“添加到时间轴”按钮是社交插件的一个示例,该插件将导致此错误出现在JS控制台中。尝试删除社交插件,看看错误是否仍然存在。如果它们消失,你唯一真正的选择是切换到XFBML。
答案 3 :(得分:0)
当使用outh 2时,添加oauth = 1为社交插件提供js功能
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/tr_TR/all.js#**oauth=1**&xfbml=1&appId=164442023647373";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
答案 4 :(得分:0)
使用
时出现此错误ow.fbAsyncInit = function() {
FB.init({
appId : '<s:property value="app_id" />',
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true, // parse XFBML
oauth : true
});
我使用的旧变量:
response.session.access_token
response.session.uid
新变量有所帮助:
response.authResponse.accessToken
response.authResponse.userId