MGTwitterEngine没有返回重新推文,只返回“原创”推文

时间:2011-08-17 15:22:16

标签: iphone twitter mgtwitterengine

我是iPhone应用程序开发的新手,并试图创建一个基于Twitter的iPhone应用程序。 我正在使用MGTwitterEngine来搜索和检索我关注的人的时间轴。 我正在使用的方法是:

[twitterEngine getFollowedTimelineSinceID:0 startingAtPage:0 count:100]; 

事情进展顺利,但我有几件事情在努力:

  1. 我只收到最初由我的关注列表发布的推文,根本没有重新推文。我真的希望在同一个电话中收到所有推文(原始和重新推文),但如果我需要执行两个请求(一个用于推文,一个用于重新推文),这对我来说也很合适。
  2. 我收到的推文少于100条,但我知道我追随的人发布的内容不止于此。知道怎么解决吗?
  3. 有些人提到MGTwitterEngine缺乏重发推特功能。我不是要重新推文,只是为了获得完整的时间表(包括我关注的人的重新推文)。

    非常感谢!

2 个答案:

答案 0 :(得分:0)

看看这个https://dev.twitter.com/docs/api/1/get/statuses/home_timeline

具体看一下说:

Include_RTS : When set to either true, t or 1,the timeline will contain native retweets (if they exist) in addition to the standard stream of tweets...

现在在getFollowedTimelineSinceID方法中你需要为params字典创建一个新对象

[params setObject:[NSString stringWithFormat:@"%@", @"true"] forKey:@"Include_RTS"];

答案 1 :(得分:0)

根据@bizsytes的建议我对MGTwitterEngine进行了两次修改 getFollowedTimelineSinceID方法:

  1. 将路径字符串从@statuses / friends_timeline。%@更改为@statuses / home_timeline。%@

  2. 添加了Include_RTS对象

  3. 显然它解决了我的问题(转发和检索到的状态数量)。

    现在该方法如下所示:

    - (NSString *)getAllFollowedTimelineSinceID:(unsigned long)sinceID withMaximumID:(unsigned long)maxID startingAtPage:(int)page count:(int)count
    {
        NSString *path = [NSString stringWithFormat:@"statuses/home_timeline.%@", API_FORMAT];
    
        NSMutableDictionary *params = [NSMutableDictionary dictionaryWithCapacity:0];
        if (sinceID > 0) {
            [params setObject:[NSString stringWithFormat:@"%u", sinceID] forKey:@"since_id"];
        }
        if (maxID > 0) {
            [params setObject:[NSString stringWithFormat:@"%u", maxID] forKey:@"max_id"];
        }
        if (page > 0) {
            [params setObject:[NSString stringWithFormat:@"%d", page] forKey:@"page"];
        }
        if (count > 0) {
            [params setObject:[NSString stringWithFormat:@"%d", count] forKey:@"count"];
        }
    
        [params setObject:[NSString stringWithFormat:@"%@", @"true"] forKey:@"Include_RTS"];
    
    
        return [self _sendRequestWithMethod:nil path:path queryParameters:params body:nil 
                                requestType:MGTwitterFollowedTimelineRequest 
                               responseType:MGTwitterStatuses];
    }