- Fixed some named parameters as nullable. (#657)
- Added
exclude
parameter toTweetsService.lookupQuoteTweets
. (#647)
- Added
202 Accepted
inHttpStatus
. (#651)
- Added
verifiedType
inUserField
. (#646)
- The return type of
TwitterResponse<bool, void>
has been modified to assign an object corresponding to each endpoint. (#644)
- Exposed
Serializable
. (#641)
- Added
valueOf
method in Enum objects. You can convert from a string returned from the API to an Enum. (#635) - Added
HttpStatus
,headers
, andrequest
to response information. (#637)
- Supported
GET users/profile_banner
. (#590)
- Supported
POST account/update_profile_image
. (#617) - Supported
POST account/update_profile_banner
. (#614) - Supported
POST account/remove_profile_banner
. (#616) - Supported
POST users/report_spam
. (#618) - Fixed
tweets.searchRecent
to work with user context tokens as well as AppOnly tokens. (#619) - Supported
POST account/update_profile
. (#615)
- Upgraded dependencies.
- Reintegrated core packages. (#598)
- Supported retry algorithm have been changed to only
Exponential BackOff and Jitter
recommended by official Twitter. All of the following factory constructors provided until now are deprecated and should be modified byv5.0.0
to use the default constructor ofRetryConfig
. The following deprecated factory constructors will be removed inv5.0.0
, and theExponential BackOff and Jitter
algorithm will always be used regardless of constructor. (#601)ofRegularIntervals
ofExponentialBackOff
ofExponentialBackOffAndJitter
- For endpoints that can use both OAuth 2.0 and OAuth 1.0a authentication methods, the resolution of both has been improved. Starting with this version, OAuth 2.0 is the highest priority authentication method. For example, if OAuth 2.0 and OAuth 1.0a tokens are specified at the same time, the OAuth 2.0 client is always used for v2 endpoints. (#596)
- A utility has been added to this package to allow access token refresh.
OAuthUtils.refreshAccessToken
can be used to refresh access tokens issued by OAuth 2.0 PKCE. (#604)
- Internal processing has been improved to set
false
in the data field ofTwitterResponse
when a403
error is returned inPOST
,PUT
andDELETE
communication. (#592)
- Supported
Trends
service. (#582)GET /1.1/trends/place.json
GET /1.1/trends/available.json
GET /1.1/trends/closest.json
- Supported
/1.1/geo/reverse_geocode.json
endpoint forGeo
service. (#584)
- Supported
Geo
service. (#578)GET /1.1/geo/search.json
GET /1.1/geo/id/$placeId.json
- Supported additional language codes. (#570)
qam
for tweets with mentions only (works for tweets since 2022-06-14)qct
for tweets with cashtags only (works for tweets since 2022-06-14)qht
for tweets with hashtags only (works for tweets since 2022-06-14)qme
for tweets with media links (works for tweets since 2022-06-14)qst
for tweets with a very short text (works for tweets since 2022-06-14)zxx
for tweets with either media or Twitter Card only, without any additional text (works for tweets since 2022-06-14)
- Fixed a bug that
TweetEditControls.remainingCount
had a different type. (#571) - Fixed to exclude null fields when performing
toJson
onTwitterResponse
and other model objects. With this fix, the JSON obtained fromtoJson
is now fully equivalent to the raw JSON returned by Twitter. (#569)
- Improved internal process for checking rate limit. (#562)
- Supported
entity:
filtering rule operator. You can use this operator with following methods. (#557)matchEntity
notMatchEntity
- Supported
context:
filtering rule operator. You can use this operator with following methods. (#556)matchContext
notMatchContext
- Added documentation about
FilteringRule
object. (#558)
- Fixed bug that retry count does not increment correctly. (#560)
- Added service for
Direct Message
. You can use endpoints forDirect Message
using byTwitterApi.directMessages
property. - Added
Direct Messages Lookup
. (#533)GET /2/dm_events
GET /2/dm_conversations/with/:participant_id/dm_events
GET /2/dm_conversations/:dm_conversation_id/dm_events
- Added
Manage Direct Messages
. (#534)POST /2/dm_conversations/:dm_conversation_id/messages
POST /2/dm_conversations/with/:participant_id/messages
POST /2/dm_conversations
- Removed deprecated property and constructor.
- Removed
UploadedMediaData.mediaId
and useUploadedMediaData.id
instead. FilteringRule.sampleOf
and useFilteringRule.ofSample
instead.
- Removed
- Supported upload media for direct message. Please specify
MediaCategory.directMessage
to the option inMediaService.uploadMedia
. (#547)
TwitterUploadException
extendedTwitterException
. (#510)UnauthorizedException
extendedTwitterException
. (#528)- Added
DataNotFoundException
. This exception extendsTwitterException
and is thrown when there is no response body or the response body does not contain a data field. In other words, this exception is thrown when the target tweet does not exist when searching for a specific tweet, etc. (#490)
- Added support for an endpoint that associates uploaded videos with subtitles. (#437)
media.createSubtitle
- Added support for an endpoint to delete subtitles associated with uploaded videos. (#436)
media.destroySubtitle
- Supported upload for caption files (.srt). You can upload caption files by using
uploadMedia
. (#508) - Renamed enumeration from
TweetLanguage
toLanguage
. Please replace name if you're usingTweetLanguage
.
- Deprecated
FilteringRule.sampleOf
and addedFilteringRule.ofSample
. DeprecatedFilteringRule.sampleOf
will be removed in v4.4.0. (#515)
- Deprecated
UploadedMediaData.mediaId
and addedUploadedMediaData.id
. UseUploadedMediaData.id
andUploadedMediaData.mediaId
will be removed in v4.4.0.
- Removed deprecated methods.
- Use
tweets.connectSampleStream
instead oftweets.connectVolumeStream
. - Use
tweets.createThreads
instead ofcreateThreadTweets
.
- Use
- Added
WithheldCountry
enum. This is an enumeration that supports country codes according to the ISO Alpha2 standard, an international standard, as well asXX
(all countries) andXY
(DMCA Request), which are supported by Twitter. With the addition of this enumeration, the following response object types have been modified to be safer. Also, refactored field names. (#500)- From
TweetWithheld.countryCodes
toTweetWithheld.countries
- From
UserWithheld.countryCodes
toUserWithheld.countries
- From
- Added an object that allows easy and safe generation of filtering rules for FilteredStream. You can generate filtering rules fluently and easily from the
FilteringRule
object. (#248)
- Renamed from
createThread
tocreateReply
.
- Fixed dependency structure.
- Added
tweets.createThreads
method and deprecatedtweets.createThreadTweets
. (#495) - Added
tweets.createThread
method. You can create a single threaded tweet safely with this method.
- Added detail information in
RateLimitExceededException
. Also, now it extendsTwitterException
. - Added
tweets.createThreadTweets
method. You can create threaded tweets with this method in a very simple way. (#411)
- Deprecated properties in
TwitterApi
below and added new properties. It will be removed in v5.0.0, so please replace them to new property names. (#483)- From
tweetsService
totweets
- From
usersService
tousers
- From
spacesService
tospaces
- From
listsService
tolists
- From
mediaService
tomedia
- From
complianceService
tocompliance
- From
- For endpoints that can be paged, a callback function has been added to allow safe paging. Bidirectional or unidirectional paging can be performed by specifying the
paging
callback function in the following methods. (#477)Tweets Service
Users Service
Lists Service
- Added
TweetEditControls
object. This object holds information about the editing of tweets. You can use it fromTweetData.editControls
, and also you must pass theeditControls
element totweetFields
. (#472) - Added
editHistoryTweetIds
field inTweetData
. (#471)
- Renamed object from
ComplianceData
toBatchComplianceData
. If you are using the object nameComplianceData
explicitly, modify it toBatchComplianceData
. (#462) - Deprecated
connectVolumeStream
and addedconnectSampleStream
instead. Please replace method name fromconnectVolumeStream
toconnectSampleStream
. (#479) - Supported
connectSample10Stream
in Tweets Service. This feature is available to Enterprise levels of access. Also, this is commonly referred to as the Decahose. (#473)
- Added the feature to set Alt Text when uploading media. Please set the Alt Text you want to set to the argument
altText
of the following method within 1000 characters. However, Alt Text can be set only for images and GIFs. Alt Text for videos will be ignored. (#435)uploadImage
uploadMedia
- Improved handling of
uploadMedia
method when using theonProgress
callback. In previous versions, if the media upload was completed immediately, thecompleted
event would not be notified, but from this version you will always get acompleted
event at the end of process. (#466) - Added
onFailed
callback touploadMedia
method. You can check error information when upload is failed. (#456)
- Added a callback function to check the progress of uploading large media from
uploadMedia
. You can get thestate
of the upload and theprogress
in percent from theUploadEvent
object passed from the callback function. (#454)
- Supported the upload media (GIF, Video...). (#434)
- Fixed the process for response from the
uploadImage
method so that the rate limit is set correctly. (#447)
- The utility has been added to check if the rate has been exceeded or not. You can use these methods from
RateLimit
object. (#444)isExceeded
isNotExceeded
- Supported the feature for getting the rate limit of each endpoints from response. Now you can get
RateLimit
object from response and it haslimitCount
,remainingCount
andresetAt
fields. (#440)
-
It was necessary to modify the response structure for endpoints that use
Stream
to include aRateLimit
object in each endpoint response. The modified methods are following.connectVolumeStream
connectFilteredStream
-
Also, methods that previously returned the result of processing as a
bool
have been modified to return aTwitterResponse
. This is to have aRateLimit
object as above. So, for example, thecreateLike
method can also obtain aRateLimit
object, and thebool
value of the processing result can be obtained from the TwitterResponse'sdata
field.
And now the responses from the modified methods can be used as follows:
import 'package:twitter_api_v2/twitter_api_v2.dart' as v2;
Future<void> main() async {
final twitter = v2.TwitterApi(bearerToken: 'YOUR_TOKEN_HERE');
try {
final response = await twitter.tweetsService.connectFilteredStream();
print(response.rateLimit);
final stream = response.stream;
await for (final event in stream.handleError(print)) {
print(event);
}
} on v2.TwitterException catch (e) {
print(e);
}
}
import 'package:twitter_api_v2/twitter_api_v2.dart' as v2;
Future<void> main() async {
final twitter = v2.TwitterApi(bearerToken: 'YOUR_TOKEN_HERE');
try {
final me = await twitter.usersService.lookupMe();
final tweets = await twitter.tweetsService.searchRecent(query: '#ElonMusk');
final response = await twitter.tweetsService.createLike(
userId: me.data.id,
tweetId: tweets.data.first.id,
);
print(response.rateLimit);
print(response.data); // true or false
} on v2.TwitterException catch (e) {
print(e);
}
}
- Refactored the internal process for
MediaService
.
- Exposed objects below.
MediaService
UploadedMediaData
- Renamed from
MediaService.uploadMedia
toMediaService.uploadImage
. Also, renamed the parameter fromimageFile
tofile
. (#427)
- Added
MediaService
, and supported the feature for image upload. (#406)
- The following refactoring was done for the internal processing of the package. There are no disruptive changes resulting from this refactoring. (#419)
- Generic features has been separated into a
core
package. const
is now given to the constructors of all objects that do not require rebuilding after the instance has been created.
- Generic features has been separated into a
- The constructor of
RetryConfig
has been modified. (#409)- Deprecated
regularIntervals
exponentialBackOff
exponentialBackOffAndJitter
- Use instead
ofRegularIntervals
ofExponentialBackOff
ofExponentialBackOffAndJitter
- Deprecated
- Fixed the
linkClickCount
field in the following metric objects to be nullable. (#407)OrganicTweetMetrics
PrivateTweetMetrics
PromotedTweetMetrics
- Fixed analyzing warnings. (#403)
- Fixed repository link in pubspec.yaml. (#396)
- Improved specification of data returned from POST, DELETE, and PUT communication endpoints. The previous specification always returned true regardless of whether the process was successful or not, but now returns false if an
errors
object exists in the response. (#381)
- Changed return type of
destroyFilteringRules
fromFilteringRuleMeta
tobool
. This is because there is no use for theFilteringRuleMeta
object that was returned after the deletion of a filtering rule in the previous specification. If the deletion succeeds, true is returned; if the deletion fails for some reason, false is returned. (#382)
- Fixed to raise
TwitterException
if response object cannot be converted to JSON. (#347) - Enforced the specification of access token in
OAuth 2.0
orOAuth 1.0a
method when creating an instance ofTwitterApi
object. If either access token is not passed, anArgumentError
will be thrown. (#352) - Added
UnauthorizedException
. Thrown when unauthorized with the specified access token. (#348) - Added Automatic Retry feature. Automatic retry can be enabled by setting
RetryConfig
when creating theTwitterApi
object. IfRetryConfig
is not passed to theTwitterApi
object, automatic retry will not be triggered. (#251)- Regular Intervals
- Exponential Backoff
- Exponential Backoff and Jitter
- Added
state
parameter forSpacesService.search
. (#324) - Added
topicFields
parameters. (#185)- GET /2/spaces/search
- GET /2/spaces
- GET /2/spaces/:id
- GET /2/spaces/by/creator_ids
- Added
SpaceExpansion.topicIds
. (#185) - Added
ended
element forSpaceState
. (#333) - Removed HTTP status code checking process. With this modification, no exception will be thrown if, for example, you try to retweet a particular tweet and the tweet has already been deleted by its owner. However, a
TwitterException
will still be thrown if there is no Data field in the response. (#329) - Added
RateLimitExceededException
. (#331)
- Changed the field type of
TweetPollParam
'sdurationInMinutes
toDuration
and changed the name toduration
. (#322)
- Migration is required for fields that existed in previous versions due to objectification of some of the
createTweet
request parameters. (#304)- Use
TweetMediaParam
object to specifymediaIds
andtaggedUserIds
. - Use
TweetReplyParam
object to specifyinReplyToTweetId
- Use
- Migration is required for
createFilteringRules
. (#312)- Use
FilteringRuleParam
object to specify filtering rules.
- Use
- Removed
expansions
parameter fromcreateTweet
method because this is not the supported parameter. (#288)
- Added
timeout
option toTwitterApi
. The default timeout duration is 10 seconds. (#252) - Added
sortOrder
parameter toTweetsService.searchRecent
andTweetsService.searchAll
. (#284) - Added
startTime
andendTime
parameters. (#240)- GET /2/tweets/search/all
- GET /2/tweets/search/recent
- GET /2/users/:id/mentions
- GET /2/users/:id/timelines/reverse_chronological
- GET /2/users/:id/tweets
- GET /2/tweets/counts/all
- GET /2/tweets/counts/recent
- Added
variants
field toMediaData
object. You can get this field by usingMediaField.variants
. (#265) - Added
sinceTweetId
parameter. (#285)- GET /2/tweets/search/all
- GET /2/tweets/search/recent
- Added
untilTweetId
parameter. (#286)- GET /2/tweets/search/all
- GET /2/tweets/search/recent
- Added
directMessageDeepLink
parameter tocreateTweet
. (#279) - Added
geo
parameter tocreateTweet
. (#280)(#304) - Added
poll
parameter tocreateTweet
. (#282)(#304) - Added objects for request parameter of
createTweet
. (#304)TweetMediaParam
TweetGeoParam
TweetPollParam
TweetReplyParam
- Added
sinceTweetId
anduntilTweetId
parameters tocountAll
andcountRecent
. (#311)- GET /2/tweets/counts/all
- GET /2/tweets/counts/recent
- Added
granularity
parameter tocountAll
andcountRecent
. (#310)- GET /2/tweets/counts/all
- GET /2/tweets/counts/recent
- Added
sinceTweetId
anduntilTweetId
parameters toTweetsService.lookupTweets
. (#309) - Added
excludes
parameter toTweetsService.lookupTweets
. (#308) - Added
sinceTweetId
anduntilTweetId
parameters tolookupHomeTimeline
. (#307) - Added
excludes
parameter tolookupHomeTimeline
. (#306) - Added
sinceTweetId
anduntilTweetId
parameters tolookupMentions
. (#305)
- Added metrics field for
TweetField
. (#268)non_public_metrics
organic_metrics
promoted_metrics
- The
toJson
method of the response data object has been improved. Nested objects are now converted to JSON at the same time as the parent object'stoJson
. (#272) - Added
toJson
method toTwitterResponse
. (#274)
- Added dart documentations about authentication methods and required scopes. (#263)
- Added documents for response fields. (#247)
- Added
FilteredStreamResponse
as the return type ofFiltered Stream
endpoint. And now we can see the IDs and tags of the rules matched in the streaming from theFilteredStreamResponse.matchingRules
field. TheFilteredStreamResponse
extendsTwitterResponse
, so there are no destructive changes. (#226) - Added translated READMEs. (#213)
- Japanese
- French
- Vietnamese
- Bengali
- Added
mediaFields
arguments. (#183)- GET /2/users/:id/bookmarks
- GET /2/tweets/search/stream
- GET /2/tweets/:id/liking_users
- GET /2/users/:id/liked_tweets
- GET /2/tweets/:id/quote_tweets
- GET /2/tweets/:id/retweeted_by
- GET /2/tweets/search/all
- GET /2/tweets/search/recent
- GET /2/users/:id/mentions
- GET /2/users/:id/timelines/reverse_chronological
- GET /2/users/:id/tweets
- GET /2/tweets
- GET /2/tweets/:id
- GET /2/tweets/sample/stream
- GET /2/spaces/:id/buyers
- GET /2/spaces/:id/tweets
- Added
mediaFields
arguments. (#186)- GET /2/users/:id/followed_lists
- GET /2/lists/:id
- GET /2/users/:id/owned_lists
- GET /2/users/:id/list_memberships
- GET /2/users/:id/pinned_lists
- Added
spaceFields
argument. (#184)- GET /2/spaces/search
- GET /2/spaces
- GET /2/spaces/:id
- GET /2/spaces/by/creator_ids
- Added
pollFields
argument. (#181)- GET /2/users/:id/bookmarks
- GET /2/tweets/search/stream
- GET /2/tweets/:id/liking_users
- GET /2/users/:id/liked_tweets
- GET /2/tweets/:id/quote_tweets
- GET /2/tweets/:id/retweeted_by
- GET /2/tweets/search/all
- GET /2/tweets/search/recent
- GET /2/users/:id/mentions
- GET /2/users/:id/timelines/reverse_chronological
- GET /2/users/:id/tweets
- GET /2/tweets
- GET /2/tweets/:id
- GET /2/tweets/sample/stream
- GET /2/spaces/:id/buyers
- GET /2/spaces/:id/tweets
- Added
placeFields
argument. (#182)- GET /2/users/:id/bookmarks
- GET /2/tweets/search/stream
- GET /2/tweets/:id/liking_users
- GET /2/users/:id/liked_tweets
- GET /2/tweets/:id/quote_tweets
- GET /2/tweets/:id/retweeted_by
- GET /2/tweets/search/all
- GET /2/tweets/search/recent
- GET /2/users/:id/mentions
- GET /2/users/:id/timelines/reverse_chronological
- GET /2/users/:id/tweets
- GET /2/tweets
- GET /2/tweets/:id
- GET /2/tweets/sample/stream
- GET /2/spaces/:id/buyers
- GET /2/spaces/:id/tweets
PlaceData
class is migrated toGeo
class, and updatedPlaceData
parameters.PlaceCoordinates
class is migrated toGeoCoordinates
class, and updatedPlaceCoordinates
parameters.- Changed the type of
lang
field fromString?
toTweetLanguage?
. (#207)
- Fixed field names in
UserData
. (#202)- From
protected
toisProtected
. - From
verified
toisVerified
.
- From
- Fixed
README.md
. (#200)
- Added
userFields
argument. (#180)- GET /2/users/:id/bookmarks
- GET /2/tweets/search/stream
- GET /2/tweets/:id/liking_users
- GET /2/users/:id/liked_tweets
- GET /2/tweets/:id/quote_tweets
- GET /2/tweets/search/all
- GET /2/tweets/search/recent
- GET /2/users/:id/mentions
- GET /2/users/:id/timelines/reverse_chronological
- GET /2/users/:id/tweetsGET /2/tweets
- GET /2/tweets/:id
- GET /2/tweets/sample/stream
- GET /2/users/:id/blocking
- GET /2/users/:id/followers
- GET /2/users/:id/following
- GET /2/users/:id/muting
- GET /2/users
- GET /2/users/:id
- GET /2/users/by
- GET /2/users/by/username/:username
- GET /2/users/me
- GET /2/spaces/search
- GET /2/spaces
- GET /2/spaces/:id
- GET /2/spaces/:id/buyers
- GET /2/spaces/:id/tweets
- GET /2/spaces/by/creator_ids
- GET /2/lists/:id/tweets
- GET /2/lists/:id/followers
- GET /2/users/:id/followed_lists
- GET /2/lists/:id
- GET /2/users/:id/owned_lists
- GET /2/lists/:id/members
- GET /2/users/:id/list_memberships
- GET /2/users/:id/pinned_lists
- Added
tweetFields
argument. (#179)- GET /2/users/:id/bookmarks
- GET /2/tweets/search/stream
- GET /2/tweets/:id/liking_users
- GET /2/users/:id/liked_tweets
- GET /2/tweets/:id/quote_tweets
- GET /2/tweets/:id/retweeted_by
- GET /2/tweets/search/all
- GET /2/tweets/search/recent
- GET /2/users/:id/mentions
- GET /2/users/:id/timelines/reverse_chronological
- GET /2/users/:id/tweets
- GET /2/tweets
- GET /2/tweets/:id
- GET /2/tweets/sample/stream
- GET /2/users/:id/blocking
- GET /2/users/:id/followers
- GET /2/users/:id/following
- GET /2/users/:id/muting
- GET /2/users
- GET /2/users/:id
- GET /2/users/by
- GET /2/users/by/username/:username
- GET /2/users/me
- GET /2/spaces/:id/buyers
- GET /2/spaces/:id/tweets
- GET /2/lists/:id/tweets
- GET /2/lists/:id/members
- Changed object name from
ReferencedTweetData
toReferencedTweet
. - Changed field type of
type
inReferencedTweet
toTweetType
fromString
. - Changed field type of
type
inMediaData
toMediaType
fromString.
- Added
key
field toMediaData
. It represents a unique identifier of the media.
- Added
Reverse Chronological Timelines
endpoint. (#164)- GET /2/users/:id/timelines/reverse_chronological
- Added
expansions
argument toUsersService
. (#142)- GET /2/users/:id/blocking
- GET /2/users/:id/followers
- GET /2/users/:id/following
- GET /2/users/:id/muting
- GET /2/users
- GET /2/users/:id
- GET /2/users/by
- GET /2/users/by/username/:username
- GET /2/users/me
- Added
expansions
argument toSpacesService
. (#171)- GET /2/spaces/search
- GET /2/spaces
- GET /2/spaces/:id
- GET /2/spaces/:id/buyers
- GET /2/spaces/:id/tweets
- GET /2/spaces/by/creator_ids
- Added
expansions
argument toListsService
. (#172)- GET /2/lists/:id/tweets
- GET /2/lists/:id/followers
- GET /2/users/:id/followed_lists
- GET /2/lists/:id
- GET /2/users/:id/owned_lists
- GET /2/lists/:id/members
- GET /2/users/:id/list_memberships
- GET /2/users/:id/pinned_lists
- Fixed method name from
tweetsService.connectVolumeStreams
totweetsService.connectVolumeStream
. - Fixed return type of
tweetsService.connectVolumeStream
fromFuture<Stream<TweetData>>
toFuture<Stream<TwitterResponse<TweetData, void>>>
. - Added
Filtered Stream
endpoint. (#4)- GET /2/tweets/search/stream
- GET /2/tweets/search/stream/rules
- POST /2/tweets/search/stream/rules
- Added
expansions
argument toTweetsService
. (#141) - Added expanded fields to
TweetData
. (#141)authorId
inReplyToUserId
referencedTweets
entities
attachments
geo
- Added
includes
field toTwitterResponse
. (#144) - With the addition of the
includes
field toTwitterResponse
, the following objects have been added. (#144)MediaData
PollData
- Added Volume Stream endpoint. (#14)
- GET /2/tweets/sample/stream
- Exposed service classes. (#122
TweetsService
UsersService
ListsService
SpacesService
ComplianceService
- Added arguments to
tweetsService.createTweet
. (#130) (#90)inReplyToTweetId
replySetting
mediaIds
taggedUserIds
- Improved processing when the data field does not exist in the response body returned from the Twitter API. (#124)
- In previous versions,
POST
andDELETE
communications for deleted content would raise aTwitterException
, but this release has been modified to always return a boolean instead of an exception in this case.
- In previous versions,
- Internal processing has been refactored to improve scalability and maintainability. There are no disruptive changes as a result of this refactoring.
- Added convenience utility for OAuth. (#102)
OAuthUtils.generateAppOnlyBearerToken
- Added Lists Manage endpoints. (#30)
- DELETE /2/lists/:id
- PUT /2/lists/:id
- POST /2/lists
- Added Lists Follows endpoints. (#27)
- DELETE /2/users/:id/followed_lists/:list_id
- GET /2/lists/:id/followers
- GET /2/users/:id/followed_lists
- POST /2/users/:id/followed_lists
- Added Lists Members endpoints. (#29)
- DELETE /2/lists/:id/members/:user_id
- GET /2/lists/:id/members
- GET /2/users/:id/list_memberships
- POST /2/lists/:id/members
- Added Tweets Timelines endpoints. (#11)
- GET /2/users/:id/mentions
- GET /2/users/:id/tweets
- Added Users Blocks endpoints. (#20)
- DELETE /2/users/:source_user_id/blocking/:target_user_id
- GET /2/users/:id/blocking
- POST /2/users/:id/blocking
- Added Lists Pinnings endpoints. (#31)
- DELETE /2/users/:id/pinned_lists/:list_id
- GET /2/users/:id/pinned_lists
- POST /2/users/:id/pinned_lists
- Added Lists Tweet Lookup endpoint. (#26)
- GET /2/lists/:id/tweets
- Refactored method names. Prefixes for methods that perform
GET
communication other than the search endpoint have been unified withlookup
. This makes it a destructive change, but please refer to the following correspondence table for details of the change.- Tweets Service
- From
likingUsers
tolookupLikingUsers
- From
likingTweets
tolookupLikedTweets
- From
retweetedBy
tolookupRetweetedUsers
- From
quoteTweets
tolookupQuoteTweets
- From
bookmarks
tolookupBookmarks
- From
- Users Service
- From
followers
tolookupFollowers
- From
followings
tolookupFollowings
- From
mutingUsers
tolookupMutingUsers
- From
- Lists Service
- From
pinnedLists
tolookupPinnedLists
- From
- Tweets Service
- Fixed a bug in
DELETE
communication. - Improved error message from
TwitterException
. (#93) - Added Batch Compliance endpoints. (#32)
- GET /2/compliance/jobs
- GET /2/compliance/jobs/:id
- POST /2/compliance/jobs
- Added Users Mutes endpoints. (#22)
- DELETE /2/users/:source_user_id/muting/:target_user_id
- GET /2/users/:id/muting
- POST /2/users/:id/muting
- Added Tweets Hide Replies endpoints. (#5)
- PUT /2/tweets/:id/hidden
- Renamed method name in TweetsService. (#79)
- Renamed method from
tweetsService.lookupTweet
totweetsService.lookupById.
- Renamed method from
tweetsService.lookupTweets
totweetsService.lookupByIds.
- Renamed method from
- Added Spaces Lookup endpoints. (#25)
- GET /2/spaces
- GET /2/spaces/:id
- GET /2/spaces/:id/buyers
- GET /2/spaces/:id/tweets
- GET /2/spaces/by/creator_ids
- Added Lists Lookup endpoints. (#28)
- GET /2/lists/:id
- GET /2/users/:id/owned_lists
- Fixed response handling.
- The HTTP status of a response was regarded as an exception for data other than 200, but the HTTP status in the 200s is now regarded as a normal completion.
- Improved and added parameters for endpoints already implemented in this library. (#66)
- Added parameters to
tweetsService.createTweet
.quoteTweetId
forSuperFollowersOnly
- Added a parameter to
tweetsService.linkingUsers
.maxResults
- Added a parameter to
tweetsService.linkingTweets
.maxResults
- Added a parameter to
tweetsService.retweetedBy
.maxResults
- Added a parameter to
tweetsService.quoteTweets
.maxResults
- Added a parameter to
tweetsService.searchRecent
.maxResults
- Added a parameter to
tweetsService.searchAll
.maxResults
- Added a parameter to
usersService.followers
.maxResults
- Added a parameter to
usersService.followings
.maxResults
- Added parameters to
- Improved the error message from
TwitterException
. (#48) - Added
previousToken
totweet_meta
andtweet_count_meta
, and addedpaginationToken
ornextToken
argument for endpoints that support pagination. (#60) - Added
previousToken
touser_meta
, and addedpaginationToken
argument for endpoints that support pagination. (#60)
- Fixed typo from
tweetService
totweetsService
inTwitterApi
. - Improved error handling. (#41)
- Added Tweet Counts endpoints. (#12)
- GET /2/tweets/counts/all
- GET /2/tweets/counts/recent
- Added Tweet Bookmarks endpoints. (#2)
- GET /2/tweets/counts/all
- GET /2/tweets/counts/recent
- Added Users Lookup endpoints. (#23)
- GET /2/users
- GET /2/users/:id
- GET /2/users/by
- GET /2/users/by/username/:username
- GET /2/users/me
- Added Spaces Search endpoints. (#23)
- GET /2/spaces/search
- Specification changes and improvements have been made to the authentication method. (#44)
- Added Quote Tweets endpoint. (#8)
- GET /2/tweets/:id/quote_tweets
- Added Tweets Search endpoints. (#10)
- GET /2/tweets/search/all
- GET /2/tweets/search/recent
- Added Tweets Lookup endpoints. (#13)
- GET /2/tweets
- GET /2/tweets/:id
- Added Tweets Likes endpoints. (#6)
- DELETE /2/users/:id/likes/:tweet_id
- GET /2/tweets/:id/liking_users
- GET /2/users/:id/liked_tweets
- POST /2/users/:id/likes
- Added Tweets Manage endpoints. (#7)
- DELETE /2/tweets/:id
- POST /2/tweets
- Added Tweets Retweet endpoints. (#9)
- DELETE /2/users/:id/retweets/:source_tweet_id
- GET /2/tweets/:id/retweeted_by
- POST /2/users/:id/retweets
- Added Users Follows endpoints. (#21)
- DELETE /2/users/:source_user_id/following/:target_user_id
- GET /2/users/:id/followers
- GET /2/users/:id/following
- POST /2/users/:id/following
- First Release