Ios Facebook授权w/权限请求收益”;“未找到页面”;

Ios Facebook授权w/权限请求收益”;“未找到页面”;,ios,facebook,permissions,single-sign-on,authorize,Ios,Facebook,Permissions,Single Sign On,Authorize,在过去几周的某个时候,授权Facebook在iOS上的呼叫失败,出现了一个“未找到页面”。对于未安装应用程序的任何用户,或者如果应用程序的权限已更改,并且用户必须批准附加权限,则会发生这种情况。无论Facebook应用程序处理用户身份验证、Safari还是弹出对话框,都会发生这种情况。全部重定向到“未找到页面”页面 通过调试器,我发现登录屏幕的初始URL请求为(app id替换“[app_id]”): https://m.facebook.com/dialog/oauth?type=user_a

在过去几周的某个时候,授权Facebook在iOS上的呼叫失败,出现了一个“未找到页面”。对于未安装应用程序的任何用户,或者如果应用程序的权限已更改,并且用户必须批准附加权限,则会发生这种情况。无论Facebook应用程序处理用户身份验证、Safari还是弹出对话框,都会发生这种情况。全部重定向到“未找到页面”页面

通过调试器,我发现登录屏幕的初始URL请求为(app id替换“[app_id]”):

https://m.facebook.com/dialog/oauth?type=user_agent&display=touch&redirect_uri=fb[应用程序id]%3A%2F%2authorize&sdk=2&scope=user\u位置%2Cuser\u关系%2Cemail%2Cpublish\u流%2Coffline\u访问和客户端\u id=[应用程序id]

登录尝试正在查找以下URL(我假定该URL的用户权限不足):

http://www.facebook.com/dialog/permissions.request?_path=permissions.request&app_id=[appid]&重定向\u uri=fb[appid]%3A%3F%3Fauthorize&sdk=2&display=touch&type=user\u agent&fbconnect=1&perms=user\u位置%2Cuser\u关系%2Cemail%2Cpublish\u stream%2Coffline\u访问&sso=iphone safari&from\u登录=1

我已检查Xcode中列出的捆绑包ID是否与Facebook中为我的应用程序设置列出的捆绑包ID相同


由于未显示权限页面,新用户无法添加该应用。我的应用程序以前的旧版本也以同样的方式出现了故障。有什么问题吗

如果您发布的链接正是应用程序中的链接,则“redirect_uri”参数缺少字母“e”。“fbconnect”也是

http://www.facebook.com/dialog/permissions.request?_path=permissions.request&app_id=[appid]&redirct\u uri=fb[appid]%3A%3F%3Fauthorize&sdk=2&display=touch&type=user\u agent&fboconnect=1&perms=user\u location%2Cuser\u relations%2Cemail%2Cpublish\u stream%2Coffline\u access&sso=iphone safari&from\u login=1


此外,您应该确保您的
[appid]
是正确的,并且
fb[appid]%3A%3F%3Fauthorize
是应用程序的正确fb处理程序链接。

好吧,我觉得有点愚蠢

问题是我在Facebook页面的应用程序设置中打开了沙箱。我无法理解为什么错误页面如此迟钝

  • 在Facebook开发者设置:,编辑你的应用设置
  • 选择左侧“设置”下的“高级”选项卡
  • 确保未启用“沙盒模式”
    当我的应用程序ID在Info Plist中不正确时,我也遇到了同样的问题

    <key>CFBundleURLTypes</key>
    <array>
        <dict>
            <key>CFBundleURLSchemes</key>
            <array>
                <string>fb305639062848xxx</string>
            </array>
        </dict>
    </array>
    
    CbundleUrlTypes
    循环流化床锅炉方案
    fb305639062848xxx
    
    我发现,不是苹果应用程序ID必须放在那里,而是Facebook应用程序ID。(在Facebook开发者网页上的应用程序设置中,应用程序名称下有应用程序ID和应用程序机密)


    xxx隐藏了最后3个数字

    不,我必须转录,所以是打字错误。您是否能够授权在iOS应用程序中进行新的使用?使用的代码工作正常。我已经作为授权用户测试了很长一段时间,并没有注意到它何时停止工作。第二个URL由Facebook生成,这是我作为需要允许应用权限的用户登录的结果。第一个URL由iOS SDK生成,并继续为已经允许该应用权限的用户工作。@wrlee:不,我只为网站集成了Facebook,但OAuth流应该是相同的。我已经检查了url,它适用于我的应用程序。关于Facebook设置的变化,我注意到FB将强制使用https。它对你的应用程序有任何影响吗?好的,这一定与应用程序的FB设置有关。但我不知道是什么。我已将FB DemoApp设置为使用我失败的应用程序的app_id,但它失败了(因此我知道它不一定是我的代码)。然后我将其设置为我不再开发的另一个应用程序的应用程序id;而且它有效!我不知道这两种不同的配置之间有什么区别。啊!这对我来说也是个老麻烦。在沙盒模式下,只有您添加到开发团队中的用户才能访问应用程序,否则它将报告:找不到内容。啊,这个问题对我来说也是一样,尽管我是应用程序管理员。我想这是因为我在android上登录facebook后创建了facebook应用程序。解决方案:在android上注销facebook应用程序,然后重新登录。