Я пробовал все возможные варианты, но 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)
}
)
}