Swiftyinsta: Логин перестал работать

Созданный на 23 июл. 2020  ·  12Комментарии  ·  Источник: TheM4hd1/SwiftyInsta

Аутентификация с помощью кеша или через LoginWebViewController завершается ошибкой:
" https://i.instagram.com/api/v1/accounts/current_user/.\nНеверный ответ. \ nПроцессор обработки вернул nil . \ n405"

Самый полезный комментарий

Спасибо @alperalb , я обновил код в 2.3.3 . \
Однако имейте в виду, что SwiftyInsta больше не поддерживается активно, поэтому, хотя это было легко исправить, в будущем он может перестать работать.

Все 12 Комментарий

Измените метод UsersHandler CurrentUser из сообщения, чтобы получить

func current(delay: ClosedRange<Double>?, completionHandler: <strong i="6">@escaping</strong> (Result<User, Error>) -> Void) { guard let storage = handler.response?.storage else { return completionHandler(.failure(GenericError.custom("Invalid Authentication.Response in APIHandler.respone`. Авторизуйтесь снова. ")))
}
// let body = ["_uuid": handler.settings.device.deviceGuid.uuidString,
// "_uid": storage.dsUserId,
// "_csrftoken": storage.csrfToken]

    requests.request(User.self,
                     method: .get,
                     endpoint: Endpoint.Accounts.current,
                     //body: .parameters(body),
                     delay: delay,
                     process: { User(rawResponse: $0.user) },
                     completion: completionHandler)
}`

Измените метод UsersHandler CurrentUser из сообщения, чтобы получить

func current(delay: ClosedRange<Double>?, completionHandler: <strong i="7">@escaping</strong> (Result<User, Error>) -> Void) { guard let storage = handler.response?.storage else { return completionHandler(.failure(GenericError.custom("Invalid Authentication.Response in APIHandler.respone`. Авторизуйтесь снова. ")))
}
// let body = ["_uuid": handler.settings.device.deviceGuid.uuidString,
// "_uid": storage.dsUserId,
// "_csrftoken": storage.csrfToken]

    requests.request(User.self,
                     method: .get,
                     endpoint: Endpoint.Accounts.current,
                     //body: .parameters(body),
                     delay: delay,
                     process: { User(rawResponse: $0.user) },
                     completion: completionHandler)
}`

Я пробовал это на основе вашего решения, но похоже, что это не работает

Измените метод UsersHandler CurrentUser из сообщения, чтобы получить
func current(delay: ClosedRange<Double>?, completionHandler: <strong i="8">@escaping</strong> (Result<User, Error>) -> Void) { guard let storage = handler.response?.storage else { return completionHandler(.failure(GenericError.custom("Invalid Authentication.Response in APIHandler.respone`. Авторизуйтесь снова. ")))
}
// let body = ["_uuid": handler.settings.device.deviceGuid.uuidString,
// "_uid": storage.dsUserId,
// "_csrftoken": storage.csrfToken]

    requests.request(User.self,
                     method: .get,
                     endpoint: Endpoint.Accounts.current,
                     //body: .parameters(body),
                     delay: delay,
                     process: { User(rawResponse: $0.user) },
                     completion: completionHandler)
}`

Я пробовал это на основе вашего решения, но похоже, что это не работает

Этот у меня работает ..
Если вы используете поды, вам может потребоваться пересобрать проект, очистив сначала все (команда-shift-K) или очистив производные данные.
Измененные строки находятся в файле UserHandler.swift, начиная со строки 13.

Измените метод UsersHandler CurrentUser из сообщения, чтобы получить

func current(delay: ClosedRange<Double>?, completionHandler: <strong i="7">@escaping</strong> (Result<User, Error>) -> Void) { guard let storage = handler.response?.storage else { return completionHandler(.failure(GenericError.custom("Invalid Authentication.Response in APIHandler.respone`. Авторизуйтесь снова. ")))
}
// let body = ["_uuid": handler.settings.device.deviceGuid.uuidString,
// "_uid": storage.dsUserId,
// "_csrftoken": storage.csrfToken]

    requests.request(User.self,
                     method: .get,
                     endpoint: Endpoint.Accounts.current,
                     //body: .parameters(body),
                     delay: delay,
                     process: { User(rawResponse: $0.user) },
                     completion: completionHandler)
}`

Спасибо @alperalb , работай на меня.

Измените метод UsersHandler CurrentUser из сообщения, чтобы получить
func current(delay: ClosedRange<Double>?, completionHandler: <strong i="9">@escaping</strong> (Result<User, Error>) -> Void) { guard let storage = handler.response?.storage else { return completionHandler(.failure(GenericError.custom("Invalid Authentication.Response in APIHandler.respone`. Авторизуйтесь снова. ")))
}
// let body = ["_uuid": handler.settings.device.deviceGuid.uuidString,
// "_uid": storage.dsUserId,
// "_csrftoken": storage.csrfToken]

    requests.request(User.self,
                     method: .get,
                     endpoint: Endpoint.Accounts.current,
                     //body: .parameters(body),
                     delay: delay,
                     process: { User(rawResponse: $0.user) },
                     completion: completionHandler)
}`

Я пробовал это на основе вашего решения, но похоже, что это не работает

Этот у меня работает ..
Если вы используете поды, вам может потребоваться пересобрать проект, очистив сначала все (команда-shift-K) или очистив производные данные.
Измененные строки находятся в файле UserHandler.swift, начиная со строки 13.

Спасибо, очищаю производные данные и все работает нормально.

Спасибо @alperalb , я обновил код в 2.3.3 . \
Однако имейте в виду, что SwiftyInsta больше не поддерживается активно, поэтому, хотя это было легко исправить, в будущем он может перестать работать.

Спасибо за быстрое обновление. Довольно печально, что он не поддерживается активно, имхо, это лучший быстрый фреймворк для Instagram на данный момент, и было бы пустой тратой позволить ему умереть.

@sbertix рад помочь с обслуживанием. Где анонс?

Пришлось использовать pod 'SwiftyInsta', :git => 'https://github.com/TheM4hd1/SwiftyInsta', :branch => 'master'

@sbertix помечен ли релиз?

Спасибо за быстрое обновление. Довольно печально, что он не поддерживается активно, имхо, это лучший быстрый фреймворк для Instagram на данный момент, и было бы пустой тратой позволить ему умереть.

В текущей реализации было слишком много "проблем", требующих в будущем полностью чистого листа @ biox86

Когда я писал SwiftyInsta 2.0 , я делал это таким образом, чтобы он оставался «аутентичным» исходной реализации, которая, по сути, была портированием.

С тех пор Swift сильно изменился, и многие функции просто не могут быть добавлены в кодовую базу, например, отмена запроса, поддержка нескольких хранилищ для ответов аутентификации, аутентификация рабочего имени пользователя и пароля, поддержка объединения , пользовательская аутентификация и т. Д.

Итак, я начал новый проект, используя современные Swift, Swiftagram , более простые в использовании и способные исправить все вышеперечисленные проблемы. Начать с нуля действительно было необходимостью.

@sbertix рад помочь с обслуживанием. Где анонс?

Официальных анонсов нет. Время от времени я напоминал людям, когда приходили новые выпуски.

Пока я работаю над Swiftagram , я все еще собираюсь исправлять критические проблемы (например, эту), но я не буду продвигать здесь новые функции или улучшения (например, я не собираюсь переносить Swiftagram BasicAuthenticator для рабочего входа в систему, не основанного на веб-представлении, или его функций Combine ).

Если вы инвестировали в SwiftyInsta и хотите внести свой вклад через PR и поддерживать его в активном состоянии, добро пожаловать на @mycroftcanner.

Пришлось использовать pod 'SwiftyInsta', :git => 'https://github.com/TheM4hd1/SwiftyInsta', :branch => 'master'

@sbertix помечен ли релиз?

Ага. Все помечено, версия пакета обновлена… 🤔
Я не уверен, зачем это нужно.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги

Смежные вопросы

sbertix picture sbertix  ·  3Комментарии

effecttwins picture effecttwins  ·  16Комментарии

sbertix picture sbertix  ·  27Комментарии

reefer picture reefer  ·  18Комментарии

canaksoy picture canaksoy  ·  6Комментарии