当我按下登录按钮时,我得到了Facebook页面,我必须允许我使用我的Facebook帐户.

在我授予权限后,它会重定向到https://www.facebook.com/dialog/permissions.request并显示一个空白页面.在Android上调用“window.FB.login”回调(参见下面的代码),我可以在其中获取信息并重定向用户,但在Windows Phone上它只显示该空白页面.当我进入我的Facebook页面时,我的网站已在应用列表中注册.所以注册确实正常.

解决方法

此错误是由于facebook js文件的不安全加载引起的.

要在应用程序中集成Facebook应用程序,您必须按照Facebook应用程序文档中指示的步骤操作.

var fbApi = {
      init: function () {
      $.getScript(document.location.protocol + '//connect.facebook.net/en_US/all.js',function () {
        if (window.FB) {
            window.FB.init({
                appId: MY_APP_ID,status: true,cookie: true,xfbml: false,oauth: true,channelUrl: 'http://www.yourdomain.com/channel.html'
            });

        }
    });
    },login: function () {
    /// <summary>
    /// Login facebook button clicked
    /// </summary>
    log("login facebook button clicked");

    if (window.FB) {

        //Windows phone does not enter this method,Android and Iphone do
        window.FB.login(function (response) {

            if (response.status) {
                log('it means the user has allowed to communicate with facebook');

                fbAccesstoken = response.authResponse.accesstoken;
                window.FB.api('/me',function (response) {
                    //get information of the facebook user.
                    loginService.subscribeSocialUser(response.id,response.first_name,response.last_name,fbAccesstoken,"","FaceBook",fbSucces,fbFail);

                });
            } else {
                log('User cancelled login or did not fully authorize.');

            }
        },{ scope: 'email'
        });
    }

}
};

添加了频道URL以解决任何跨浏览器问题.
它应该指向一个html文件,它引用js如下:

<script src="//connect.facebook.net/en_US/all.js"></script>

如果在初始化Facebook.js时遇到错误,您将无法成功登录.

您可以同步或异步加载java脚本.

(function(d,debug){
     var js,id = 'facebook-jssdk',ref = d.getElementsByTagName('script')[0];
     if (d.getElementById(id)) {return;}
     js = d.createElement('script'); js.id = id; js.async = true;
     js.src = "//connect.facebook.net/en_US/all" + (debug ? "/debug" : "") + ".js";
     ref.parentNode.insertBefore(js,ref);
   }(document,/*debug*/ false));

在iOS Chrome中使用白页的FB重定向问题的更多相关文章

  1. 关于h5中的fetch方法解读(小结)

    这篇文章主要介绍了关于h5中的fetch方法解读(小结),fetch身为H5中的一个新对象,他的诞生,是为了取代ajax的存在而出现,有兴趣的可以了解一下

  2. openURL崩溃:iOS 9中可能存在Facebook SDK错误

    也许Facebook的SDK在这个特例上有错误?解决方法我找到了答案看起来它只是一个发布模式问题.通过启用Xcode运行发布版本,我能够调试我的问题.它是由参数sourceApplication引起的,在发布模式下显然需要解包.不知道为什么,但至少我得到它的工作.

  3. ios – 将iphone应用程序重定向到苹果商店

    我有一个iPhone应用程序,当有可用的升级时,我想提示用户升级,如果他们点击升级,我想将它们重定向到苹果商店.这是怎么做到的?

  4. ios – 使用NSURLSession获取JSON数据

    我试图从谷歌距离api使用NSURLSession获取数据,但如下所示,当我打印响应和数据时,我得到的结果为NULL.可能是什么问题?

  5. ios – Oauth突然无法使用iphone(仅安装了FS应用程序)

    我们的iPhone应用程序允许通过oauth通过Foursquare登录.它工作正常,最近停止工作.我们得到的错误是:连接失败:回调uri对此使用者无效.但是,如果用户没有在手机上安装foursquare应用程序,它可以像以前一样正常工作.似乎FS现在正在进行重定向来处理FS应用程序内部的oauth,并且在尝试返回到原始应用程序时失败.通过野生动物园它似乎工作.这是在ios9上.解决方案?

  6. ios – Facebook应用程序邀请对话框无效

    任何该功能的工作示例都将非常感激.解决方法您的代码很好,当您发布应用程序时,此功能将实际工作,因为某些Facebook集成需要在使用前获得批准.在状态和审核部分提交您的应用以获得批准

  7. 检测是否在iOS / Android上的本机Facebook应用程序中加载了网页

    然后我的链接可以启动浏览器,我的网络应用程序继续在Facebook本机应用程序中运行.解决方法这在JavaScript中适用于我:

  8. ios – 检查用户是否已修改Facebook的App权限

    我正在使用Facebook创建新用户或登录Parse.>用户使用Facebook登录登录应用程序>用户提示接受权限.>用户接受应用程序请求的所有权限.4.用户删除了应用程序的权限我想知道我们检查用户是否已更改Facebook中应用程序的授权状态的方式是什么.我该如何检查?我们怎么知道它不再连接?

  9. ios – 以http无效的自定义URL方案开头

    我在应用程序中使用了自定义URL方案.我成功地从safari重定向到我的应用程序.就像我已经制作了URL方案“appname”.请检查http://prntscr.com/2cjx0p.我需要使用像iosurlredirectfrommailtoapp这样的解决方案,但我不确定如何设置cookie.我发现我必须首先在我的应用程序中为服务器“http://myappname.com”设置一个cook

  10. ios Facebook登录:com.facebook.sdk:ErrorLoginFailedReason = invalid_client

    我用我的iosApp测试了我的FB应用已经有一段时间了,只使用沙盒应用和我的管理员帐户;它工作得很好.现在,我已经在我的fb应用程序中禁用了沙箱模式,让我的一些FB朋友测试应用程序.每当他们尝试从iPhone应用程序连接时,他们会得到以下显示:“myApp错误配置Facebook登录”并且错误是:com.facebook.sdk:ErrorLoginFailedReason=invalid_cli

随机推荐

  1. iOS实现拖拽View跟随手指浮动效果

    这篇文章主要为大家详细介绍了iOS实现拖拽View跟随手指浮动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  2. iOS – genstrings:无法连接到输出目录en.lproj

    使用我桌面上的项目文件夹,我启动终端输入:cd然后将我的项目文件夹拖到终端,它给了我路径.然后我将这行代码粘贴到终端中找.-name*.m|xargsgenstrings-oen.lproj我在终端中收到此错误消息:genstrings:无法连接到输出目录en.lproj它多次打印这行,然后说我的项目是一个目录的路径?没有.strings文件.对我做错了什么的想法?

  3. iOS 7 UIButtonBarItem图像没有色调

    如何确保按钮图标采用全局色调?解决方法只是想将其转换为根注释,以便为“回答”复选标记提供更好的上下文,并提供更好的格式.我能想出这个!

  4. ios – 在自定义相机层的AVFoundation中自动对焦和自动曝光

    为AVFoundation定制图层相机创建精确的自动对焦和曝光的最佳方法是什么?

  5. ios – Xcode找不到Alamofire,错误:没有这样的模块’Alamofire’

    我正在尝试按照github(https://github.com/Alamofire/Alamofire#cocoapods)指令将Alamofire包含在我的Swift项目中.我创建了一个新项目,导航到项目目录并运行此命令sudogeminstallcocoapods.然后我面临以下错误:搜索后我设法通过运行此命令安装cocoapodssudogeminstall-n/usr/local/bin

  6. ios – 在没有iPhone6s或更新的情况下测试ARKit

    我在决定下载Xcode9之前.我想玩新的框架–ARKit.我知道要用ARKit运行app我需要一个带有A9芯片或更新版本的设备.不幸的是我有一个较旧的.我的问题是已经下载了新Xcode的人.在我的情况下有可能运行ARKit应用程序吗?那个或其他任何模拟器?任何想法或我将不得不购买新设备?解决方法任何iOS11设备都可以使用ARKit,但是具有高质量AR体验的全球跟踪功能需要使用A9或更高版本处理器的设备.使用iOS11测试版更新您的设备是必要的.

  7. 将iOS应用移植到Android

    我们制作了一个具有2000个目标c类的退出大型iOS应用程序.我想知道有一个最佳实践指南将其移植到Android?此外,由于我们的应用程序大量使用UINavigation和UIView控制器,我想知道在Android上有类似的模型和实现.谢谢到目前为止,guenter解决方法老实说,我认为你正在计划的只是制作难以维护的糟糕代码.我意识到这听起来像很多工作,但从长远来看它会更容易,我只是将应用程序的概念“移植”到android并从头开始编写.

  8. ios – 在Swift中覆盖Objective C类方法

    我是Swift的初学者,我正在尝试在Swift项目中使用JSONModel.我想从JSONModel覆盖方法keyMapper,但我没有找到如何覆盖模型类中的Objective-C类方法.该方法的签名是:我怎样才能做到这一点?解决方法您可以像覆盖实例方法一样执行此操作,但使用class关键字除外:

  9. ios – 在WKWebView中获取链接URL

    我想在WKWebView中获取tapped链接的url.链接采用自定义格式,可触发应用中的某些操作.例如HTTP://我的网站/帮助#深层链接对讲.我这样使用KVO:这在第一次点击链接时效果很好.但是,如果我连续两次点击相同的链接,它将不报告链接点击.是否有解决方法来解决这个问题,以便我可以检测每个点击并获取链接?任何关于这个的指针都会很棒!解决方法像这样更改addobserver在observeValue函数中,您可以获得两个值

  10. ios – 在Swift的UIView中找到UILabel

    我正在尝试在我的UIViewControllers的超级视图中找到我的UILabels.这是我的代码:这是在Objective-C中推荐的方式,但是在Swift中我只得到UIViews和CALayer.我肯定在提供给这个方法的视图中有UILabel.我错过了什么?我的UIViewController中的调用:解决方法使用函数式编程概念可以更轻松地实现这一目标.

返回
顶部