我尝试了所有可能的选项,但重定向URI不会返回access_token
。我添加了一个回调URI,我可以要求用户登录并授予访问权限,但我在回拨时收到此错误。
我在Dev门户网站上注册了这个URI,它似乎工作正常:
http://oauthswift.herokuapp.com/callback/instagram
当我尝试使用以下网址在网络浏览器上进行身份验证时
https://api.instagram.com/oauth/authorize/?client_id=CLIENT-ID&redirect_uri=http://oauthswift.herokuapp.com/callback/instagram&response_type=token
我确实获得了访问令牌:
当我尝试使用OAuthSwift
时,我收到此错误,重定向URI不包含access_token
,请说明文档的内容:
这是错误:
serverError [没有access_token,没有代码,服务器没有提供错误]
这是我的代码:
// MARK: Instagram
func doOAuthInstagram(_ serviceParameters: [String:String]){
let oauthswift = OAuth2Swift(
consumerKey: serviceParameters["consumerKey"]!,
consumerSecret: serviceParameters["consumerSecret"]!,
authorizeUrl: "https://api.instagram.com/oauth/authorize",
responseType: "token"
)
let state = generateState(withLength: 20)
self.oauthswift = oauthswift
oauthswift.authorizeURLHandler = getURLHandler()
let _ = oauthswift.authorize(
withCallbackURL: URL(string: "http://oauthswift.herokuapp.com/callback/instagram")!, scope: "likes+comments", state:state,
success: { credential, response, parameters in
self.showTokenAlert(name: serviceParameters["name"], credential: credential)
self.testInstagram(oauthswift)
},
failure: { error in
print(error.description)
}
)
}