Die Authentifizierung mit Cache oder über LoginWebViewController schlägt mit Fehler fehl:
" https://i.instagram.com/api/v1/accounts/current_user/.\nUngültige Antwort.\nVerarbeitungshandler hat nil
.\n405"
Ändern Sie die Methode UsersHandler CurrentUser von post in get
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`. Nochmal anmelden.")))
}
// 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)
}`
Ändern Sie die Methode UsersHandler CurrentUser von post in get
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.Responsein
APIHandler.respone`. Nochmal anmelden.")))
}
// 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) }`
Ich habe es basierend auf deiner Lösung versucht, aber es scheint nicht zu funktionieren
Ändern Sie die Methode UsersHandler CurrentUser von post in get
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.Responsein
APIHandler.respone`. Nochmal anmelden.")))
}
// 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) }`
Ich habe es basierend auf deiner Lösung versucht, aber es scheint nicht zu funktionieren
Dieser funktioniert bei mir..
Wenn Sie Pods verwenden, müssen Sie möglicherweise das Projekt neu erstellen, zuerst alle bereinigen (Befehl-Umschalt-K) oder abgeleitete Daten bereinigen.
Geänderte Zeilen befinden sich in der Datei UserHandler.swift, beginnend mit Zeile 13
Ändern Sie die Methode UsersHandler CurrentUser von post in get
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.Responsein
APIHandler.respone`. Nochmal anmelden.")))
}
// 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) }`
Danke @alperalb , arbeite für mich.
Ändern Sie die Methode UsersHandler CurrentUser von post in get
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.Responsein
APIHandler.respone`. Nochmal anmelden.")))
}
// 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) }`
Ich habe es basierend auf deiner Lösung versucht, aber es scheint nicht zu funktionieren
Dieser funktioniert bei mir..
Wenn Sie Pods verwenden, müssen Sie möglicherweise das Projekt neu erstellen, zuerst alle bereinigen (Befehl-Umschalt-K) oder abgeleitete Daten bereinigen.
Geänderte Zeilen befinden sich in der Datei UserHandler.swift, beginnend mit Zeile 13
Danke, ich lösche die abgeleiteten Daten und es funktioniert normal.
Danke @alperalb , ich habe den Code in 2.3.3
aktualisiert.\
Beachten Sie jedoch, dass
Danke für das schnelle Update. Es ist ziemlich traurig, dass es nicht aktiv gepflegt wird, imho ist es das derzeit beste schnelle Instagram-Framework und es wäre eine Verschwendung, es sterben zu lassen.
@sbertix hilft gerne bei der Wartung. Wo ist die Ankündigung?
Musste pod 'SwiftyInsta', :git => 'https://github.com/TheM4hd1/SwiftyInsta', :branch => 'master'
@sbertix ist die Veröffentlichung mit einem Tag versehen?
Danke für das schnelle Update. Es ist ziemlich traurig, dass es nicht aktiv gepflegt wird, imho ist es das derzeit beste schnelle Instagram-Framework und es wäre eine Verschwendung, es sterben zu lassen.
Es gab zu viele "Probleme" bei der aktuellen Implementierung, die für die Zukunft eine völlig @ biox86
Als ich SwiftyInsta 2.0
, habe ich es so gemacht, dass es immer noch "authentisch" zur ursprünglichen Implementierung ist, die im Grunde eine Portierung war.
Swift geändert seitdem viel und viele Funktionen kann einfach nicht auf die Code - Basis, zB Aufhebungs eine Anfrage, Multi-Speicher - Unterstützung für die Authentifizierung Antworten, Arbeits Benutzername und Passwort - Authentifizierung, Kombinieren Unterstützung, benutzerdefinierte Authentifizierung etc. hinzugefügt werden
Also habe ich ein neues Projekt mit modernem Swift, Swiftagram ,
@sbertix hilft gerne bei der Wartung. Wo ist die Ankündigung?
Keine offiziellen Ankündigungen. Ich würde die Leute hin und wieder daran erinnern, wenn neue Ausgaben eingesandt wurden.
Während ich an Swiftagram arbeite , werde ich immer noch kritische Probleme beheben (wie dieses), aber ich werde hier keine neuen Funktionen oder Verbesserungen vorantreiben (zum Beispiel werde ich portieren BasicAuthenticator
für eine funktionierende, nicht auf der Webansicht basierende Anmeldung oder ihre Combine- Funktionen).
Wenn Sie in SwiftyInsta investiert sind, und wollen durch PRs beizutragen, und halten diese aktiv ist , sind Sie mehr als willkommen @mycroftcanner
Musste
pod 'SwiftyInsta', :git => 'https://github.com/TheM4hd1/SwiftyInsta', :branch => 'master'
@sbertix ist die Veröffentlichung mit einem Tag versehen?
Ja. Alles markiert und Pod-Version aktualisiert…
Ich bin mir nicht sicher, warum es das tun sollte.
Hilfreichster Kommentar
Danke @alperalb , ich habe den Code in
2.3.3
aktualisiert.\Beachten Sie jedoch, dass