从用户的时间线获取推文

时间:2017-05-17 14:19:33

标签: android twitter

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

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?

谢谢

1 个答案:

答案 0 :(得分:2)

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

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
    }
};