加载来自不同用户的推特帖子

时间:2018-05-24 23:07:18

标签: ios swift twitter twitter-oauth

您需要从不同用户加载Twitter帖子。 我知道如何从单个用户加载帖子。 使用搜索查询FROM:<username>执行请求。 你知道如何加载来自不同用户的帖子吗? 我试过这样的事情FROM:<username1>&&<username2> - 但它没有用。 有什么想法吗?

2 个答案:

答案 0 :(得分:0)

您可以使用cocoapods中提供的TwitterKit框架GitHub - https://github.com/twitter/twitter-kit-ios/wiki/Access-Twitter's-REST-API Cocoapods - https://cocoapods.org/pods/TwitterKit 它的推特自己的库,所以你总是可以依赖它。 要加载多条推文,您需要使用以下代码

let client = TWTRAPIClient()
let tweetIDs = ["510908888888487103", "510908133777777104"]
client.loadTweets(withIDs: tweetIDs) { (tweets, error) -> Void in
  // handle the response or error
}

如果您想访问其他Twitter API端点,您可以手动构建请求,如下所示

let client = TWTRAPIClient()
let statusesShowEndpoint = "https://api.twitter.com/1.1/statuses/show.json"
let params = ["id": "20"]
var clientError : NSError?

let request = client.urlRequest(withMethod: "GET", url: statusesShowEndpoint, parameters: params, error: &clientError)

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

    do {
        let json = try JSONSerialization.jsonObject(with: data!, options: [])
        print("json: \(json)")
    } catch let jsonError as NSError {
        print("json error: \(jsonError.localizedDescription)")
    }
}

希望这个有所帮助。

答案 1 :(得分:0)

我找到了一种方法。我必须使用Twitter iOS SDK和TWTRAPIClient来执行请求。 https://api.twitter.com/1.1/statuses/user_timeline.json是获取具有某个用户名的特定用户的推文的端点。

  NSURLRequest *r = [[TWTRAPIClient new] URLRequestWithMethod:@"GET"
                                                                URL:@"https://api.twitter.com/1.1/statuses/user_timeline.json"
                                                         parameters:@{@"screen_name":name}
                                                              error:nil];


        [[TWTRAPIClient new] sendTwitterRequest:r completion:^(NSURLResponse * _Nullable response, NSData * _Nullable data, NSError * _Nullable connectionError) {
            if(data){

                NSArray *tweets = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:nil];
                [TWTRTweet tweetsWithJSONArray:tweets]


            }
        }];