Как получить Instagram access_token с помощью OAuth2Swift
Я перепробовал все возможные варианты, но URI перенаправления не возвращаетaccess_token
, Я добавил URI обратного вызова, я могу попросить пользователя войти в систему и дать разрешение на доступ, но я получаю эту ошибку при обратном вызове.
Я зарегистрировал этот URI на портале Dev, и, похоже, он работает нормально:
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)
}
)
}