尽管提供了Twitter Api,但回调网址未获批准

时间:2018-05-28 17:21:46

标签: swift firebase twitter twitter-oauth

在twitter控制台中,我有一个来自firebase链接的回调网址。然而,当我尝试使用twitter进行身份验证时,我收到错误:

"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 :(得分:12)

我面临同样的问题,我们不需要在代码方面进行更改,我们只需要在twitter的开发者帐户中更改一些设置(测试解决方案)

您需要使用以下格式在回拨网址中添加使用者/ API密钥

参考链接:https://developer.twitter.com/en/docs/basics/callback_url.html

twitterkit- consumer / api key ://

enter image description here

您需要在 info.plist

中添加 twitterkit-yourConsumerKey
<array>
        <dict>
            <key>CFBundleTypeRole</key>
            <string>Editor</string>
            <key>CFBundleURLSchemes</key>
            <array>
                <string>twitterkit-your Consumer Key (API Key)</string>
            </array>
        </dict>
    </array>

答案 1 :(得分:0)

所以继承人对我有用。我使用了常规的旧推特套件(对于快速和客观的c)在这里给出了两个GitHub:

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

这解决了我回调网址问题(我最初使用的是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)")
        }
    }

希望这可以帮助其他人!