Skip to content

Commit

Permalink
feat_liked_tweets (#190)
Browse files Browse the repository at this point in the history
  • Loading branch information
redouane59 authored May 20, 2021
1 parent 3304f2e commit cf4136f
Show file tree
Hide file tree
Showing 7 changed files with 54 additions and 2 deletions.
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<groupId>com.github.redouane59.twitter</groupId>
<artifactId>twittered</artifactId>
<version>1.23</version>
<version>1.24</version>

<name>twittered</name>
<description>java client for twitter API</description>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import com.github.redouane59.twitter.dto.stream.StreamRules.StreamRule;
import com.github.redouane59.twitter.dto.tweet.LikeResponse;
import com.github.redouane59.twitter.dto.tweet.Tweet;
import com.github.redouane59.twitter.dto.tweet.TweetListV2;
import com.github.redouane59.twitter.dto.tweet.TweetSearchResponse;
import com.github.redouane59.twitter.dto.user.FollowResponse;
import com.github.redouane59.twitter.dto.user.User;
Expand Down Expand Up @@ -291,6 +292,11 @@ public interface ITwitterClientV2 {
*/
UserListV2 getLikingUsers(String tweetId);


/**
* Allows you to get information about a user’s liked Tweets calling https://api.twitter.com/2/users/:id/liked_tweets
*
* @param userId ID of the user to request liked Tweets for.
*/
TweetListV2 getLikedTweets(String userId);
}

Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
import com.github.redouane59.twitter.dto.tweet.LikeResponse;
import com.github.redouane59.twitter.dto.tweet.MediaCategory;
import com.github.redouane59.twitter.dto.tweet.Tweet;
import com.github.redouane59.twitter.dto.tweet.TweetListV2;
import com.github.redouane59.twitter.dto.tweet.TweetSearchResponse;
import com.github.redouane59.twitter.dto.tweet.TweetSearchResponseV1;
import com.github.redouane59.twitter.dto.tweet.TweetSearchResponseV2;
Expand Down Expand Up @@ -303,6 +304,12 @@ public UserListV2 getLikingUsers(final String tweetId) {
return getRequestHelper().getRequest(url, UserListV2.class).orElseThrow(NoSuchElementException::new);
}

@Override
public TweetListV2 getLikedTweets(final String userId) {
String url = this.getUrlHelper().getLikedTweetsUrl(userId);
return getRequestHelper().getRequest(url, TweetListV2.class).orElseThrow(NoSuchElementException::new);
}

@Override
public Tweet retweetTweet(String tweetId) {
String url = this.getUrlHelper().getRetweetTweetUrl(tweetId);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package com.github.redouane59.twitter.dto.tweet;

import com.github.redouane59.twitter.dto.tweet.TweetV2.TweetData;
import java.util.List;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;

@AllArgsConstructor
@NoArgsConstructor
@Builder
@Getter
public class TweetListV2 {

List<TweetData> data;
}
Original file line number Diff line number Diff line change
Expand Up @@ -404,4 +404,9 @@ public String getLikingUsersUrl(final String tweetId) {
return ROOT_URL_V2 + TWEETS + "/" + tweetId + "/liking_users"
+ "?" + USER_FIELDS + ALL_USER_FIELDS;
}

public String getLikedTweetsUrl(final String userId) {
return ROOT_URL_V2 + USERS + "/" + userId + "/liked_tweets"
+ "?" + TWEET_FIELDS + ALL_TWEET_FIELDS;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
import com.github.redouane59.twitter.dto.stream.StreamRules.StreamRule;
import com.github.redouane59.twitter.dto.tweet.LikeResponse;
import com.github.redouane59.twitter.dto.tweet.Tweet;
import com.github.redouane59.twitter.dto.tweet.TweetListV2;
import com.github.redouane59.twitter.dto.tweet.TweetSearchResponse;
import com.github.redouane59.twitter.dto.tweet.TweetType;
import com.github.redouane59.twitter.dto.tweet.TweetV2;
Expand Down Expand Up @@ -344,6 +345,15 @@ public void testGetLikingUsers() {
assertNotNull(result.getData().get(0).getCreatedAt());
}

@Test
public void testGetLikedTweets() {
TweetListV2 result = twitterClient.getLikedTweets("1120050519182016513");
assertTrue(result.getData().size() > 0);
assertNotNull(result.getData().get(0).getId());
assertNotNull(result.getData().get(0).getText());
assertNotNull(result.getData().get(0).getCreatedAt());
}

@Test
public void testGetUserIdFromAccessToken() {
assertEquals(this.userId, twitterClient.getUserIdFromAccessToken());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -300,4 +300,11 @@ public void testLikingUsers() {
"https://api.twitter.com/2/tweets/1354143047324299264/liking_users?user.fields=id,created_at,entities,username,name,location,url,verified,profile_image_url,public_metrics,pinned_tweet_id,description,protected",
urlHelper.getLikingUsersUrl("1354143047324299264"));
}

@Test
public void testLikedTweetsUrl() {
String userId = "12345";
assertEquals("https://api.twitter.com/2/users/" + userId + "/liked_tweets?" + URLHelper.TWEET_FIELDS + URLHelper.ALL_TWEET_FIELDS,
urlHelper.getLikedTweetsUrl(userId));
}
}

0 comments on commit cf4136f

Please sign in to comment.