我在Windows上使用twitter4j-3.0.5。Twitter4j:如何从状态获取twit url?
当新状态到达StatusListener时。 onStatus()方法,我想打印出它的URL,但我没有找到任何适当的方法。状态。 getURLEntities()总是空的,即使我看着传递给客户端的json,也是非常困难的,url字段不是空的,并且包含有效的URL。 我只是不知道如何从java中获得这个值。
请指教。
我在Windows上使用twitter4j-3.0.5。Twitter4j:如何从状态获取twit url?
当新状态到达StatusListener时。 onStatus()方法,我想打印出它的URL,但我没有找到任何适当的方法。状态。 getURLEntities()总是空的,即使我看着传递给客户端的json,也是非常困难的,url字段不是空的,并且包含有效的URL。 我只是不知道如何从java中获得这个值。
请指教。
getURLEntities()
方法返回推文本身的内容中的任何URL,而不是推文的URL 的。
幸运的鸣叫的URL是采用以下格式:
https://twitter.com/[screen name of user]/status/[id of status]
所以,你可以得到一个状态的URL与此代码:
Status status;
String url= "https://twitter.com/" + status.getUser().getScreenName()
+ "/status/" + status.getId();
System.out.println(url);
URL可以通过曝光2种方式。
给Twitter的链接
给它啾啾的网站链接。
package com.twitter.example;
import java.util.List;
import twitter4j.Status;
import twitter4j.Twitter;
import twitter4j.TwitterException;
import twitter4j.TwitterFactory;
import twitter4j.URLEntity;
import twitter4j.conf.ConfigurationBuilder;
public class TwitterApplication {
public static void main(String[] args) throws TwitterException {
ConfigurationBuilder cf = new ConfigurationBuilder();
cf.setOAuthConsumerKey("OAUTH_CONSUMER_KEY")
.setOAuthConsumerSecret("OAUTH_CONSUMER_KEY_SECRET")
.setOAuthAccessToken("OAUTH_ACCESS_TOKEN")
.setOAuthAccessTokenSecret("OAUTH_ACCESS_TOKEN_SECRET");
TwitterFactory tf = new TwitterFactory(cf.build());
Twitter twitter = tf.getInstance();
// get username and status
List<Status> statusList = twitter.getHomeTimeline();
int i = 0;
for (Status status : statusList) {
i++;
String url = "https://twitter.com/" + status.getUser().getScreenName() + "/status/" + status.getId();
System.out.println("Twitter URL:"+url);
URLEntity[] urls = status.getURLEntities();
for(URLEntity urlEntity : urls) {
url = urlEntity.getURL();
System.out.println("Website link URL in the tweet: "+url);
}
if (i == 1)
break;
}
}
}
微URL:在鸣叫https://twitter.com/CulturalGM/status/966308069884952577
网站链接URL:https://websitelink