Facebook authorize w/permissions request yield "Page Not Found"

11,419

Solution 1

Okay, I'm feeling a bit stupid.

The problem was that I had Sandboxing turned on in the app settings in the Facebook page. Why the error page was so obtuse is beyond me.

  1. In Facebook developer settings: https://developers.facebook.com, edit your app settings.
  2. Select the "Advanced" tab, under "Settings" on the left side.
  3. Make sure that "Sandbox Mode" is not enabled.

Solution 2

I had the same problem, when my App ID was incorrect in Info Plist.

<key>CFBundleURLTypes</key>
<array>
    <dict>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>fb305639062848xxx</string>
        </array>
    </dict>
</array>

I found out, that not the Apple App ID must be put there, but Facebook App ID. (General in your app settings on Facebook developers web page, under App Name there are App ID and App Secret)

There 3 last numbers are hidden by xxx.

Share:
11,419
wrlee
Author by

wrlee

Software Architecture and Development Solutions Architect Developer and Developer Relations specialist API standards and design expert Application portability and localization ReactJS front-end Contemporary full-stack web applications Traditional desktop and server applications Languages and Frameworks Bash (scripting, sed, awk, etc.) JavaScript and ReactJS NodeJS C and C++ REST Java PHP iOS-iPhone Objective-C Pascal, Fortran, PL/I, Cobol, ...

Updated on June 09, 2022

Comments

  • wrlee
    wrlee almost 2 years

    Somewhere along the way in the past few weeks, the authorize Facebook call in iOS fails with a "Page Not Found". This happens for any user that has not installed the app or if the app's permissions have changed and the user must approve the additional permissions. This happens whether the Facebook app handles the user authentication or Safari or the popup dialog. All redirect to a "Page Not Found" page.

    Digging through the debugger, I found the initial URL request to be (app id replaces "[app_id]") for the login screen:

    https://m.facebook.com/dialog/oauth?type=user_agent&display=touch&redirect_uri=fb[app_id]%3A%2F%2Fauthorize&sdk=2&scope=user_location%2Cuser_relationships%2Cemail%2Cpublish_stream%2Coffline_access&client_id=[app_id]

    The following URL is being sought by the login attempt (I assume by the URL that the user has insufficient permissions):

    http://www.facebook.com/dialog/permissions.request?_path=permissions.request&app_id=[appid]&redirect_uri=fb[appid]%3A%3F%3Fauthorize&sdk=2&display=touch&type=user_agent&fbconnect=1&perms=user_location%2Cuser_relationships%2Cemail%2Cpublish_stream%2Coffline_access&sso=iphone-safari&from_login=1

    I've checked that the Bundle ID listed in Xcode is the same as that listed for my app's settings in Facebook.

    Because the permissions page is not showing, new users cannot add the app. Old versions of my app that used to work are failing in the same way as well. What could be the problem?

  • wrlee
    wrlee over 12 years
    No, I had to transcribe it, so it was a typo. Are you able to authorize a new use into your iOS apps?
  • wrlee
    wrlee over 12 years
    The code used to work fine. I'd been testing it as an authorized user for a long time and did not notice when this stopped working. The 2nd URL is generated by Facebook, the result of my logging in as a user that needs to allow app permissions. The first URL is generated by the iOS SDK and continues to work for users that have already allowed the permissions for the app.
  • Hoàng Long
    Hoàng Long over 12 years
    @wrlee: no, I only integrates Facebook for website, but the OAuth flow should be the same. I have checked the url, it works for my app. About changes in Facebook settings, I notice that FB is going to force https. Does it have any effect on your application?
  • Hoàng Long
    Hoàng Long over 12 years
    It's an old trouble for me as well. In sandbox mode, only users you add into your dev team can access the app, otherwise it will reposrt: content not found.
  • Timmmm
    Timmmm over 11 years
    Ah, this problem for me too, even though I was the app administrator. I think it's because I created the facebook app after logging into facebook on android. Solution: log out of facebook app on android, log back in again.