Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {"errors":[{"code":215,"message":"Bad Authentication data."}]}
- func getRecentTweets(query : String)
- {
- // The below are the oAuth Parameters for header
- let timeStamp = Date().toMillis()
- let oauthNonce = Utils.randomString(length: 32)
- let urlEncodedQuery = query.addingPercentEncoding(withAllowedCharacters: .urlHostAllowed) ?? ""
- var paramterString = "q=(urlEncodedQuery)&result_type=recent&lang=en&oauth_consumer_key=(oauthConsumerKey)&oauth_nonce=(oauthNonce )&oauth_timestamp=(timeStamp ?? 0)&oauth_token=(oauthToken)&oauth_version=(oauthVersion)"
- paramterString = paramterString.addingPercentEncoding(withAllowedCharacters: .urlHostAllowed) ?? ""
- var baseUrl = "https://api.twitter.com/1.1/search/tweets.json"
- baseUrl = baseUrl.addingPercentEncoding(withAllowedCharacters: .urlHostAllowed) ?? ""
- let signature_base_string = "GET&(baseUrl)&(paramterString)"
- let consumerSecretEncoded = oauthConsumerSecret.addingPercentEncoding(withAllowedCharacters: .urlHostAllowed) ?? ""
- let tokenSecretEncoded = oauthAccessSecret.addingPercentEncoding(withAllowedCharacters: .urlHostAllowed) ?? ""
- let signing_key = "(consumerSecretEncoded)&(tokenSecretEncoded)"
- let oauthSignature = signature_base_string.hmac(key: signing_key)
- let headers = [
- "Authorization": "OAuth oauth_consumer_key="(oauthConsumerKey)",oauth_token="(oauthToken)",oauth_signature_method="(oauthSignatureMethod)",oauth_timestamp="(timeStamp ?? 0)",oauth_nonce="(oauthNonce )",oauth_version="(oauthVersion)",oauth_signature="(oauthSignature)""
- ]
- let request = NSMutableURLRequest(url: NSURL(string: "https://api.twitter.com/1.1/search/tweets.json?q=(urlEncodedQuery)&result_type=recent&lang=en")! as URL)
- request.httpMethod = "GET"
- request.allHTTPHeaderFields = headers
- let session = URLSession.shared
- let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
- if (error != nil) {
- } else {
- self.parseData(data)
- }
- })
- dataTask.resume()
- }
Add Comment
Please, Sign In to add comment