我已经开始学习Twitter4j API并从Twitter获得所有凭据和令牌以使用它.现在我正在尝试使用一个简单的java程序获取我朋友的时间表并将其打印在控制台上.
ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setDebugEnabled(true)
.setOAuthConsumerKey(consumerKey)
.setOAuthConsumerSecret(consumerSecret)
.setOAuthAccessToken(accessToken)
.setOAuthAccessTokenSecret(accessSecret);
try
{
TwitterFactory factory = new TwitterFactory(cb.build());
Twitter twitter = factory.getInstance();
String[] srch = new String[] {"usernameoffriend"};
ResponseList<User> users = twitter.lookupUsers(srch);
for (User user : users) {
System.out.println("Friend's Name " + user.getName()); // this print my friends name
if (user.getStatus() != null)
{
System.out.println("Friend timeline");
List<Status> statusess = twitter.getFriendsTimeline();
for (Status status3 : statusess)
{
System.out.println(status3.getText());
}
}
}
Run Code Online (Sandbox Code Playgroud)
代码没有给出错误.但不是打印我朋友的时间线,而是打印我自己的时间轴.我正在使用getFriendsTimeline().那么为什么它不打印我的朋友的时间轴.
先感谢您.
有没有什么办法可以在 twitter4j 中查询更多的关键字?
就像不是在我的程序中进行更多查询,我可以创建一个可以完成所有任务的查询,所以我将只有一大堆可以阅读的推文?
我想这将是取代这个的东西:
Query query1 = new Query("SOME RANDOM TEXT1" );
Query query2 = new Query("SOME RANDOM TEXT2" );
Query query3 = new Query("SOME RANDOM TEXT3" );
Query query4 = new Query("SOME RANDOM TEXT4" );
...
Run Code Online (Sandbox Code Playgroud) 我正在开发一个使用twitter4j API与Twitter交互的应用程序.此API是否为直接消息提供了事件监听器?
我正在尝试使用twitter4j访问twitter API.我正在尝试通过Streaming API(第9点).但StatusListener和TwitterStream不存在.我也是checkecd jar,它们也不存在.我补充道
<dependency>
<groupId>org.twitter4j</groupId>
<artifactId>twitter4j-core</artifactId>
<version>2.2.5</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
在pom.xml中添加jars.TwitterStream似乎从2.2.0开始在twitter4j中出现.我使用2.2.5这是最新的稳定版本.但是这些类在jar中不存在.如果其他人有同样的问题或有解决方案,请告诉我.
我正在使用twitter4j库在twitter中收集一些数据.有一个名为Status的接口,可用于获取有关推文的各种信息(例如id,位置,时间,是否为转推...).我目前有兴趣检索在推文中转发的用户的ID.例如,假设约翰转发萨曼莎并假设我有约翰的推文; 让我们把约翰的推特牛逼
我想在代码中做一些事情:
Long retweetedUserID = t.getRetweetedUserID();
Run Code Online (Sandbox Code Playgroud)
我发现javadoc非常不清楚,无法正确辨别每个函数的含义.
我在这里发布了一个类似的问题,关于Status接口中特定方法的含义,我认为这与此问题有关.
非常感谢所有帮助.
我一直想知道是否有办法访问所有的Twitter粉丝列表.
我们尝试通过twitter4j 调用REST API:
public List<User> getFriendList() {
List<User> friendList = null;
try {
friendList = mTwitter.getFollowersList(mTwitter.getId(), -1);
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (TwitterException e) {
e.printStackTrace();
}
return friendList;
}
Run Code Online (Sandbox Code Playgroud)
但它只返回了20个粉丝的列表.
我尝试在循环中使用相同的调用,但它会导致速率限制异常 - 说我们不允许在很短的时间间隔内发出太多请求.
我们有办法解决这个问题吗?
在我的应用程序是使用登录与Twitter,在示例代码工作在活动,但我的应用程序使用片段工作
如何在Uri上编辑错误uri = getIntent().getData();
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_feed, container, false);
**Uri uri = getIntent().getData();**
String verifier = uri.getQueryParameter(ConstantValues.URL_PARAMETER_TWITTER_OAUTH_VERIFIER);
TwitterGet get=new TwitterGet();
get.execute(verifier);
return rootView;
}
Run Code Online (Sandbox Code Playgroud) 执行我的Android应用程序时出现此错误:
Host is unresolved: api.twitter.com:80
Relevant discussions can be on the Internet at:
http://www.google.co.jp/search?q=10f5ada3 or
http://www.google.co.jp/search?q=dceba048
TwitterException{exceptionCode=[10f5ada3-dceba048 10f5ada3-dceba01e], statusCode=-1, retryAfter=-1, rateLimitStatus=null, featureSpecificRateLimitStatus=null, version=2.2.5}
Run Code Online (Sandbox Code Playgroud)
虽然我已经设置了适当的权限..这是我的代码:
AndroidManifest.xml中
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.abc"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="8" />
<uses-permission android:name="android.permission.INTERNET" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:label="test1"
android:name=".A1Activity"
android:launchMode="singleTask">
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="twitterapp" android:host="callback" />
</intent-filter>
</activity>
<activity class=".screen2" android:label="test2" android:name=".screen2">
</activity>
</application>
</manifest> …Run Code Online (Sandbox Code Playgroud) 我想在我的应用上将图片发布到twitter.我使用"twitter4j"库只发布文本.但我找不到如何用文字发布图像.感谢帮助.
我昨天向Twitter4j介绍了自己,现在正在测试我即将推出的程序的功能.正如标题所示,我试图将图像上传到推特,没有任何运气.这是我的代码:
import static java.awt.Toolkit.getDefaultToolkit;
import static javax.swing.JOptionPane.ERROR_MESSAGE;
import static javax.swing.JOptionPane.showMessageDialog;
import java.awt.Image;
import java.io.File;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import twitter4j.Status;
import twitter4j.Twitter;
import twitter4j.TwitterException;
import twitter4j.TwitterFactory;
import twitter4j.examples.tweets.UploadMultipleImages;
import twitter4j.media.ImageUpload;
import twitter4j.media.ImageUploadFactory;
public final class UpdateStatus {
static File file = new File("/images/Done.jpg");
public static void main(String[] args) {
for(int i=0;i<2;i++){
Twitter twitter = new TwitterFactory().getInstance();
Status status=null;
try {
ImageUpload.upload(file,"22");
} catch (TwitterException e) {
System.err.println("Shit...");
System.exit(3);
}
}
System.out.println("Done");
}
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试上传的图片是Done.jpg,并且位于包中的文件夹中.我已经将这种方法用于其他程序中的图像,所以我很确定它的工作原理.但是,在运行代码之前,这给了我一条错误消息,说"无法对ImageUpload类型的非静态方法上传(File,String)进行静态引用".任何可以帮助我的想法?:d
目前,我正在根据时间戳检查一条推文是否是在另一条推文之后创建的,但这被证明是不一致的。在本地工作的内容在我的服务器上并不总是工作。我怀疑时区问题(我的服务器位于另一个时区)。
但我想知道我是否可以根据 Twitter 每条推文的唯一 ID 来做到这一点?形式上的东西:
if (tweet2.id > tweet1.id) {
// tweet2 created after tweet 1
} else {
// tweet2 created before tweet 1
}
Run Code Online (Sandbox Code Playgroud)
这可能吗?如果没有,我会问另一个问题,关于我的日期实现可能出了什么问题。
我正在开发一个Android应用程序,它允许用户自己配置Twitter消费者密钥和秘密(未配置访问令牌和访问令牌秘密).我想在显示登录页面之前验证如下所示的密钥和密码,但它会引发异常:
Twitter twitter = new TwitterFactory().getInstance();
twitter.setOAuthConsumer(key, secret);
try {
User user = twitter.verifyCredentials(); // this line throws an exception
} catch (Exception e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
例外是:
Twitter凭据验证fails.java.lang.IllegalStateException:缺少身份验证凭据.有关详细信息,请参见 http://twitter4j.org/en/configuration.html
有没有办法验证没有访问令牌和访问令牌访问的消费者密钥和密钥?