我正在尝试使用 OAuthSwift
在我的应用程序中获取用户的 access token
。我已经用 Twitter
和 Instagram
做到了,但是 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/