我有一个简单的Web应用程序,它使用FB Javascript SDK进行一些Graph调用。它本地嵌入(通过Javascript,而不是iFrames)在第三方页面中,其代码我无法修改。
主页已加载Facebook SDK脚本(all.js)以实现共享按钮。但是,我需要再次致电FB.login()
,因为我的应用需要read_stream
权限,而主页则不需要。这显然意味着我必须重新初始化SDK,这并不理想。我似乎无法避免“你运行init两次”警告。
奇怪的是,该应用程序可以在常规浏览器中运行,但不适用于iPhone (无论是在物理iPhone上还是在Mac上的Safari中,模仿iOS 6用户代理。)常规Safari UA工作正常。
以下代码通过callback
调用我的应用。在iPhone上,馈送到FB.login
的匿名回调根本不会触发(没有错误或任何错误)。
FB.init({
appId : appID, // App ID from the app dashboard
status : false, // Check Facebook Login status
xfbml : true // Look for social plugins on the page
});
FB.login(function(response){
FB.api("/me", "get", function(resp) {
console.log("it works!", resp);
callback(resp);
});
}, {scope: 'read_stream' });
iOS用户代理可以在这方面做些什么?我真的很难过。