ios - iOS 不支持 Facebook OAuthSwift redirect_uri

标签 ios facebook swift facebook-graph-api oauth

我正在尝试使用 OAuthSwift 在我的应用程序中获取用户的 access token。我已经用 TwitterInstagram 做到了,但是 Facebook 没有帮助我。

我使用的代码如下:

    func doOAuthFacebook () {
    let oauthswift = OAuth2Swift(
        consumerKey:    "@@@@",
        consumerSecret: "####",
        authorizeUrl:   "https://www.facebook.com/dialog/oauth",
        responseType:   "token"
    )
    oauthswift.authorizeWithCallbackURL(NSURL(string: "myApp://myApp/facebook")!, scope: "publish_stream,email", state: "FACEBOOK", success: { (credential, response, parameters) -> Void in

        self.showAlertView("Facebook", message: "oauth_token:\(credential.oauth_token)")

        }) { (error) -> Void in

            print (error.localizedDescription)
    }
}

我正在使用的 callbackURL 适用于其他两个社交网络。当 Safari 尝试打开页面时,我从 Facebook 收到此消息:

不支持 redirect_uri URL

我不知道我是否必须在 Facebook Developers 页面中对我的应用程序执行某些操作,或者是其他操作。

最佳答案

此案例记录在项目维基页面中 https://github.com/OAuthSwift/OAuthSwift/wiki/API-with-only-HTTP-scheme-into-callback-URL

两种方式:

  • 有一个 http 服务器并重定向到您的应用程序方案

  • 在 webview 中使用委托(delegate)来处理伪造的 http url 并重定向到您的应用程序方案或直接调用 OAuthSwift.handleOpenURL

关于ios - iOS 不支持 Facebook OAuthSwift redirect_uri,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34425439/

相关文章:

ios - swift 的消息气泡约束

ios - Swift 中的协议(protocol)是引用类型还是值类型?

ios - 文字转语音 iPhone 应用程序

ios - XCode 调试器意外切换当前执行行

ios - 如何通过移动客户端 oauth-login 服务器应用程序(尤其是 iOS、Twitter,但通常也是如此)

android - 移动 facebook 登录 - 应用程序设置提供的凭据

ios - UITabBarController 中的 UISearchController 不响应触摸

ios - 在哪里使用非续订订阅检查过期订阅?

android - 使用 AccessibilityService 从 (Facebook) RecyclerView 读取文本

ios - 在 iphone 6/6 plus 上更改高度限制时移动 UIView