FB.api()在iPhone上访问时不会触发回调

时间:2014-01-27 15:11:22

标签: javascript ios iphone facebook facebook-graph-api

我有一个简单的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用户代理可以在这方面做些什么?我真的很难过。

0 个答案:

没有答案