安卓微博4J整合获得评论实体实体、安卓微博

2023-09-05 23:38:23 作者:ˇ注定错过

我使用Twiitter4j正在Twitter的整合与Android。我试图获取家庭的时间表和工作的罚款。但是,当我希望得到的网址包含在鸣叫没有的功能。是否有functon获得评论的entites像网址等。

下面是code

  CB =新ConfigurationBuilder();
    cb.setDebugEnabled(真).setOAuthConsumerKey(Constants.CONSUMER_KEY)
            .setOAuthConsumerSecret(Constants.CONSUMER_SECRET)
            .setOAuthAccessToken(accessToken).setOAuthAccessTokenSecret(
                    accessSecret);

    尝试 {
        TwitterFactory厂=新TwitterFactory(cb.build());
        //获取Twitter的情况下使用默认凭据
        叽叽喳喳叽叽喳喳= factory.getInstance();
        用户USER = twitter.verifyCredentials();
        名单<状态>状态= twitter.getHomeTimeline();
        的System.out.println(显示@+ user.getScreenName()+家时间表。);
        对于(状态状态:状态){

            的System.out.println(@+ status.getUser()getScreenName()+ - + status.getText()+ - + status.getURLs()+ - + status.getURLEntities( ));
        }
    }赶上(TwitterException TE){
        te.printStackTrace();
        的System.out.println(无法获得时间表:+ te.getMessage());
        System.exit(-1);
    }
 

与索尼的code运作良好,并在那之后我提出我的code到异步任务,它显示了一些错误

微博国际版有什么区别 微博国际版APP下载 微博国际版怎么发微博 微博国际版点赞在哪看 嗨客手机软件站

下面是我的编辑code

 保护字符串doInBackground(无效参数... args){
        串响应=无效;

        尝试 {
            TwitterFactory厂=新TwitterFactory(cb.build());
            //获取Twitter的情况下使用默认凭据
            叽叽喳喳叽叽喳喳= factory.getInstance();
            用户USER = twitter.verifyCredentials();
            ResponseList<状态>状态= twitter.getHomeTimeline();


            的System.out.println(显示@+ user.getScreenName()+家时间表。);
            对于(状态状态:状态){

                的System.out.println(@+ status.getUser()getScreenName()+ - + status.getText()+ - + status.getUser()getProfileImageURL());
                URLEntity [] uent = status.getURLEntities();
                如果(uent!= NULL){
                    对于(INT K = 0; K< uent.length; k ++){
                        Log.i(URL实体,DP地址+ uent [K] .getDisplayURL()
                                +网址+ uent [k]的.getURL()+开始
                                + uent [K] .getStart()+端
                                + uent [k]的.getEnd());
                    }
}
            }

        }赶上(TwitterException TE){
            te.printStackTrace();
            的System.out.println(无法获得时间表:+ te.getMessage());
            System.exit(-1);
        }
        返回响应;
    }
 

解决方案

您只需要添加更多的线,而创建 ConfigurationBuilder

对象

cb.setIncludeEntitiesEnabled(真);

(提示下一个code 的),您将得到实体的话,

  ResponseList<状态>表= twitter.getHomeTimeline();
URLEntity [] uent = list.get(0).getURLEntities();
如果(uent!= NULL){
                    对于(INT K = 0; K< uent.length; k ++){
                        Log.i(URL实体,DP地址+ uent [K] .getDisplayURL()
                                +网址+ uent [k]的.getURL()+开始
                                + uent [K] .getStart()+端
                                + uent [k]的.getEnd());
                    }
}
 

I am working on twitter integration with android using Twiitter4j. I am trying to fetch Home timelines and its working fine. But when i am looking to get urls included in the tweets there is no functions. Is there a functon to get tweet entites like urls etc.

Here is the code

cb = new ConfigurationBuilder();
    cb.setDebugEnabled(true).setOAuthConsumerKey(Constants.CONSUMER_KEY)
            .setOAuthConsumerSecret(Constants.CONSUMER_SECRET)
            .setOAuthAccessToken(accessToken).setOAuthAccessTokenSecret(
                    accessSecret);

    try {
        TwitterFactory factory = new TwitterFactory(cb.build());
        // gets Twitter instance with default credentials
        Twitter twitter = factory.getInstance();
        User user = twitter.verifyCredentials();
        List<Status> statuses = twitter.getHomeTimeline();
        System.out.println("Showing @" + user.getScreenName() + "'s home timeline.");
        for (Status status : statuses) {

            System.out.println("@" + status.getUser().getScreenName() + " - " + status.getText() + "--"+status.getURLs()+ "--"+status.getURLEntities());
        }
    } catch (TwitterException te) {
        te.printStackTrace();
        System.out.println("Failed to get timeline: " + te.getMessage());
        System.exit(-1);
    }

Works well with Sony's code and after that i have moved my code to async task and it shows some errors

Here is my edited code

        protected String doInBackground(Void... args) {
        String response = null;

        try {
            TwitterFactory factory = new TwitterFactory(cb.build());
            // gets Twitter instance with default credentials
            Twitter twitter = factory.getInstance();
            User user = twitter.verifyCredentials();
            ResponseList<Status> statuses = twitter.getHomeTimeline();


            System.out.println("Showing @" + user.getScreenName() + "'s home timeline.");
            for (Status status : statuses) {

                System.out.println("@" + status.getUser().getScreenName() + " - " + status.getText() + "--"+status.getUser().getProfileImageURL());
                URLEntity[] uent = status.getURLEntities();
                if (uent != null) {
                    for (int k = 0; k < uent.length; k++) {
                        Log.i("URL Entity", "Dp Url " + uent[k].getDisplayURL()
                                + " URL " + uent[k].getURL() + " start "
                                + uent[k].getStart() + " end "
                                + uent[k].getEnd());
                    }
}
            }

        } catch (TwitterException te) {
            te.printStackTrace();
            System.out.println("Failed to get timeline: " + te.getMessage());
            System.exit(-1);
        }
        return response;
    }

解决方案

You just need to add one more line while creating object of ConfigurationBuilder

cb.setIncludeEntitiesEnabled(true);

(Hint for the next code)And you will get the Entities then,

ResponseList<Status> list = twitter.getHomeTimeline();
URLEntity[] uent = list.get(0).getURLEntities();
if (uent != null) {
                    for (int k = 0; k < uent.length; k++) {
                        Log.i("URL Entity", "Dp Url " + uent[k].getDisplayURL()
                                + " URL " + uent[k].getURL() + " start "
                                + uent[k].getStart() + " end "
                                + uent[k].getEnd());
                    }
}