在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))
怎么回事?我已经尝试了一切,互联网上没有其他人似乎有这个问题,但我呢?
答案 0 :(得分:12)
我面临同样的问题,我们不需要在代码方面进行更改,我们只需要在twitter的开发者帐户中更改一些设置(测试解决方案)
您需要使用以下格式在回拨网址中添加使用者/ API密钥
参考链接:https://developer.twitter.com/en/docs/basics/callback_url.html
twitterkit- consumer / api key ://
您需要在 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)")
}
}
希望这可以帮助其他人!