I am trying to build an app on Android Studio that allows me to get my DMs but when I run the code it doesn't show anything.
I am using the following code:
public class HandlerActivity extends AppCompatActivity {
private static final String TAG = "DirectMessagesClass";
private static final TwitterFactory factory = new TwitterFactory(
new ConfigurationBuilder()
.setDebugEnabled(true)
.setOAuthConsumerKey("api-key")
.setOAuthConsumerSecret("api-secret")
.setOAuthAccessToken("acces-token")
.setOAuthAccessTokenSecret("access-token-secret")
.setTweetModeExtended(true)
.build());
public DirectMessageList getLastXDirectMessages(int count, String nextCursor) {
if (count < 1 || count > 50) {
Log.e(TAG, "Invalid input - count must be between 1 and 50.");
return null;
}
Twitter twitter = factory.getInstance();
DirectMessageList messages;
try {
if (nextCursor == null) {
messages = twitter.getDirectMessages(count);
} else {
messages = twitter.getDirectMessages(count, nextCursor);
}
} catch (TwitterException e) {
Log.e(TAG, "Failed to retrieve direct messages from Twitter API", e);
// You can implement specific error handling for some Twitter error codes here, since e.g. server overload you could
// wait and try again instead of returning null
return null;
}
return messages;
}
public DirectMessageList getAllAvailableDirectMessages() {
int maxCount = 50;
DirectMessageList messages = getLastXDirectMessages(maxCount, null);
if (messages == null) {
return messages;
}
String nextCursor = messages.getNextCursor();
while (nextCursor != null && !nextCursor.equals("")) {
try {
Thread.sleep(60 * 1000);
} catch (Exception e) {
Log.e(TAG, "Interrupted", e);
return null;
}
DirectMessageList nextList = getLastXDirectMessages(maxCount, nextCursor);
if (nextList == null) {
return messages;
}
nextCursor = nextList.getNextCursor();
messages.addAll(nextList);
}
return messages;
}
}
What am I doing wrong? Do I have to add another function for it to show me my DMs?
Thanks in advance.