【问题标题】:Get tweets from user's timeline从用户的时间线获取推文
【发布时间】:2017-05-19 22:29:13
【问题描述】:

我正在尝试从用户的每条推文中检索文本。 我不发送获取请求。 我通过以下方式成功地将高音扬声器帐户连接到我的应用程序:

activity.client.authorize(activity, new Callback<TwitterSession>()
    {
        @Override
        public void success(Result<TwitterSession> result)
        {
            Toast.makeText(getApplicationContext(), "Login worked", Toast.LENGTH_LONG).show();
            writeInfile(result);
        }
        @Override
        public void failure(TwitterException e)
        {
            Toast.makeText(getApplicationContext(), "Login failed", Toast.LENGTH_LONG).show();
        }
    });

通过结果,我可以访问我的用户的信息,例如他的 id 或他的姓名。

我也有 UserTimeLine

final UserTimeline userTimeline = new UserTimeline.Builder()
            .userId(result.data.getUserId())
            .build();

我怎样才能从那里得到他的推文或他的推文的ID?

谢谢

【问题讨论】:

标签: android twitter


【解决方案1】:

我设法通过查看自动完成提供的每个方法来做到这一点,所以如果它可以帮助任何人,我就是这样做的:

void writeData(ContentResolver contentResolver)
{
    activity.client.authorize(activity, new Callback<TwitterSession>()
    {
        @Override
        public void success(Result<TwitterSession> result)
        {
            writeInfile(result);
        }
        @Override
        public void failure(TwitterException e)
        {
            Log.e("Twitter Log in", e.toString());
        }
    });
}


void writeInFile(Result<TwitterSession> result)
{
    userTimeline = new UserTimeline.Builder()
                 .userId(result.data.getUserId())
                 .includeRetweets(false)
                 .maxItemsPerRequest(200)
                 .build();

    userTimeline.next(null, callback);
}

Callback<TimelineResult<Tweet>> callback = new Callback<TimelineResult<Tweet>>()
{
    @Override
    public void success(Result<TimelineResult<Tweet>> searchResult)
    {
        List<Tweet> tweets = searchResult.data.items;

        for (Tweet tweet : tweets)
        {
            String str = tweet.text; //Here is the body
            maxId = tweet.id;
        }
        if (searchResult.data.items.size() == 200)
            userTimeline.previous(maxId,  callback);
        else
            closeOutputFile();

    }
    @Override
    public void failure(TwitterException error)
    {
       //Do something
    }
};

【讨论】:

    猜你喜欢
    • 2016-07-29
    • 1970-01-01
    • 2019-12-14
    • 1970-01-01
    • 2012-12-18
    • 1970-01-01
    • 2015-08-11
    • 2018-06-11
    • 2018-11-23
    相关资源
    最近更新 更多