URL обратного вызова не подтвержден, несмотря на то, что он предоставлен Twitter Api - PullRequest
0 голосов
/ 28 мая 2018

В консоли Twitter у меня есть URL обратного вызова из firebase, связанный.Тем не менее, когда я пытаюсь пройти аутентификацию с помощью твиттера, я получаю сообщение об ошибке:

"Request failed: forbidden (403)" UserInfo={NSLocalizedFailureReason=Twitter API error : <?xml version="1.0" encoding="UTF-8"?><errors><error code="415">Callback URL not approved for this client application. Approved callback URLs can be adjusted in your application settings</error></errors> (code (null))

Что происходит?Я перепробовал все, и ни у кого в Интернете, похоже, нет этой проблемы, кроме меня?

Ответы [ 2 ]

0 голосов
/ 14 июня 2018

Я сталкиваюсь с той же проблемой, которую нам не нужно менять на стороне кода, нам просто нужно изменить некоторые настройки в учетной записи разработчика в Твиттере (проверенное решение)

Вам необходимо добавить потребителя/ api введите URL обратного вызова , используя приведенный ниже формат

Ссылка ссылки: https://developer.twitter.com/en/docs/basics/callback_url.html

twitterkit- потребитель / ключ API : //

enter image description here

Вам необходимо добавить twitterkit-yourConsumerKey в info.plist

<array>
        <dict>
            <key>CFBundleTypeRole</key>
            <string>Editor</string>
            <key>CFBundleURLSchemes</key>
            <array>
                <string>twitterkit-your Consumer Key (API Key)</string>
            </array>
        </dict>
    </array>
0 голосов
/ 04 июня 2018

Так вот, что сработало для меня.Я использовал обычный старый набор твиттеров (для быстрой и объективной работы с), указанный на твитерах GitHub здесь:

https://github.com/twitter/twitter-kit-ios/wiki

Это решило мои проблемы с URL-адресами для обратного вызова (я изначально использовал Alamofire)

Это хороший пример безошибочного сетевого вызова:

 let client = TWTRAPIClient()
    let statusesShowEndpoint = "https://api.twitter.com/1.1/users/show.json"

    var clientError : NSError?

    let request = client.urlRequest(withMethod: "GET", urlString: statusesShowEndpoint, parameters: ["user_id": "\(currentProfileTwitterUid)"], error: &clientError)

    client.sendTwitterRequest(request) { (response, data, connectionError) -> Void in
        if connectionError != nil {
            print("Error: \(String(describing: connectionError))")
        }

        do {
            if let json = try JSONSerialization.jsonObject(with: data!, options: []) as? Any{

            if let dict = json as? [String : Any]{
                //print(json)


            }
            }



        } catch let jsonError as NSError {
            print("json error: \(jsonError.localizedDescription)")
        }
    }

Надеюсь, это поможет кому-то еще!

...