A .NET wrapper library with which developers can build .NET applications that integrate with the Trakt.tv API and access its features and data.
var pagedParameters = new TraktPagedParameters(1, 10); // page = 1, items per page = 10
TraktPagedResponse<ITraktTrendingShow> trendingShowsResponse = await client.Shows.GetTrendingShowsAsync(null, pagedParameters);
// getting the next page, the old way
pagedParameters.Page = pagedParameters.Page + 1;
trendingShowsResponse = await client.Shows.GetTrendingShowsAsync(extendedInfo, pagedParameters);
// getting the next page, the new way
trendingShowsResponse = await trendingShowsResponse.GetNextPageAsync();
// NOTE: The old way still works.
The output of
ITraktShow show = ...; // Show: The Last of Us
string json = await TraktSerializationService.SerializeAsync(show);
Console.WriteLine(json);
looks like this:
{"title":"The Last of Us","year":2023,"ids":{"trakt":158947,"slug":"the-last-of-us","tvdb":392256,"imdb":"tt3581920","tmdb":100088}}
TraktSerializationService.SerializeAsync()
has a new optional boolean parameter indentation
, which indents the JSON output like this:
string json = await TraktSerializationService.SerializeAsync(show, indentation: true);
{
"title":"The Last of Us",
"year":2023,
"ids":
{
"trakt":158947,
"slug":"the-last-of-us",
"tvdb":392256,
"imdb":"tt3581920",
"tmdb":100088
}
}
ITraktSyncLastActivities
(Issue 364)ITraktPerson
(Issue 406)ITraktConnections
(Issue 440)TraktExtendedInfo
(Issue 460)ITraktList
(Issue 462)ITraktComment
(Issue 464)ITraktTranslation
(Issue 468)ITraktSeasonProgress
(Issue 475)ITraktSyncLastActivities
(Issue 478)ITraktListItemsReorderPostResponse
(Issue 479)ITraktRecommendation
(Issue 480)ITraktUserSavedFilter
(Issue 481)TraktHiddenItemType
(Issue 482)ITraktUserHiddenItem
(Issue 483)ITraktNetwork
(Issue 519)ITraktSyncLastActivities
(Issue 606)ITraktUserLimits
(Issue 608)ITraktPerson
(Issue 458)ITraktPerson
(Issue 459)TraktListPrivacy
for ITraktList
s (Issue 461)TraktAuthenticationModule.CreateAuthorizationUrl()
(Issue 463)TraktExtendedInfo
in TraktListsModule.GetListLikesAsync()
(Issue 467)TraktExtendedCommentSortOrder
for TraktMoviesModule.GetMovieCommentsAsync()
and TraktEpisodesModule.GetEpisodeCommentsAsync()
(Issue 469)TraktShowsCommentSortOrder
for TraktShowsModule.GetShowCommentsAsync()
and TraktSeasonsModule.GetSeasonCommentsAsync()
(Issue 474)TraktExtendedInfo
in TraktCommentsModule.GetCommentAsync()
(Issue 487)TraktExtendedInfo
in TraktListsModule.GetTrendingListsAsync()
(Issue 488)TraktExtendedInfo
in TraktListsModule.GetPopularListsAsync()
(Issue 489)TraktExtendedInfo
in TraktListsModule.GetListAsync()
(Issue 490)TraktExtendedInfo
in TraktListsModule.GetListCommentsAsync()
(Issue 491)TraktExtendedInfo
in TraktMoviesModule.GetMovieListsAsync()
(Issue 492)TraktExtendedInfo
in TraktPeopleModule.GetPersonListsAsync()
(Issue 493)TraktExtendedInfo
in TraktCommentsModule.GetCommentRepliesAsync()
(Issue 494)TraktExtendedInfo
in TraktMoviesModule.GetMovieCommentsAsync()
(Issue 495)TraktExtendedInfo
in TraktShowsModule.GetShowCommentsAsync()
(Issue 496)TraktExtendedInfo
in TraktShowsModule.GetShowListsAsync()
(Issue 497)TraktExtendedInfo
in TraktSeasonsModule.GetSeasonCommentsAsync()
(Issue 498)TraktExtendedInfo
in TraktSeasonsModule.GetSeasonListsAsync()
(Issue 499)TraktExtendedInfo
in TraktEpisodesModule.GetEpisodeCommentsAsync()
(Issue 500)TraktExtendedInfo
in TraktEpisodesModule.GetEpisodeListsAsync()
(Issue 501)?extended=full,vip
(Issue 502)TraktSortBy
and TraktSortHow
in ITraktList
(Issue 526)ITraktUserPersonalListItemsRemovePost
instead of ITraktUserPersonalListItemsPost
in TraktUsersModule.RemovePersonalListItemsAsync()
(Issue 373)ITraktSyncCollectionRemovePost
instead of ITraktSyncCollectionPost
in TraktSyncModule.RemoveCollectionItemsAsync()
(Issue 374)ITraktSyncRatingsRemovePost
instead of ITraktSyncRatingsPost
in TraktSyncModule.RemoveRatingsAsync()
(Issue 375)ITraktSyncRecommendationsRemovePost
instead of ITraktSyncRecommendationsPost
in TraktSyncModule.RemovePersonalRecommendationsAsync()
(Issue 376)ITraktSyncWatchlistRemovePost
instead of ITraktSyncWatchlistPost
in TraktSyncModule.RemoveWatchlistItemsAsync()
(Issue 377)ITraktUserHiddenItemsRemovePost
instead of ITraktUserHiddenItemsPost
in TraktUsersModule.RemoveHiddenItemsAsync()
(Issue 378)ITraktShowFilter
to support "network_ids" instead of "networks" (Issue 520)ITraktAuthorization.TokenType
might be null (Issue 602)IEnumerable<T>
with IList<T>
where possible (Issue 253)TraktNet.Parameters
(Issue 368)GetMovieRecommendationsAsync()
and GetShowRecommendationsAsync()
(Issue 439)TraktListsModule.GetTrendingListsAsync()
and TraktListsModule.GetPopularListsAsync()
requests (Issue 466)users/{id}/recommendations/{type}/{sort}
request to users/{id}/favorites/{type}/{sort}
(Issue 555)sync/recommendations
requests to sync/favorites
(Issue 556)ITraktRecommendedBy
to ITraktFavoritedBy
(Issue 557)TraktLanguageService
(Issue 403)Full Changelog: https://github.com/henrikfroehling/Trakt.NET/compare/v1.3.0...v1.4.0
ITraktSharing
to ITraktConnections
(by @henrikfroehling in Issue 303)TraktUserCustomListPost
to TraktUserPersonalListPost
(by @henrikfroehling in Issue 349)TraktNet.Parameters
(by @henrikfroehling in Issue 354)
TraktExtendedInfo
TraktPagedParameters
TraktIncludeReplies
TraktNet.Parameters
ITraktCalendarFilter
=> TraktFilter.NewCalendarFilter().Build()
ITraktMovieFilter
=> TraktFilter.NewMovieFilter().Build()
ITraktShowFilter
=> TraktFilter.NewShowFilter().Build()
ITraktSearchFilter
=> TraktFilter.NewSearchFilter().Build()
TraktNet.PostBuilder
TraktPost.New...Post().Build()
methodsITraktSyncCollectionRemovePost
ITraktSyncRatingsRemovePost
ITraktSyncRecommendationsRemovePost
ITraktSyncWatchlistRemovePost
ITraktUserHiddenItemsRemovePost
ITraktUserPersonalListItemsRemovePost
ITraktMovieCommentPost
ITraktShowCommentPost
ITraktSeasonCommentPost
ITraktEpisodeCommentPost
ITraktListCommentPost
ITraktMovieCheckinPost
ITraktEpisodeCheckinPost
ITraktMovieScrobblePost
ITraktEpisodeScrobblePost
ITraktUserSettings
(by @henrikfroehling in Issue 272)TraktListType
enumeration (by @henrikfroehling in Issue 275)ITraktConnections
(by @henrikfroehling in Issue 283)ITraktSharingText
(by @henrikfroehling in Issue 284)ITraktUser
(by @henrikfroehling in Issue 285)ITraktWatchlistItem
(by @henrikfroehling in Issue 310)ITraktSharing
to ITraktConnections
(by @henrikfroehling in Issue 303)ITraktListItem
to int
(by @henrikfroehling in Issue 311)TraktUserCustomListPost
to TraktUserPersonalListPost
(by @henrikfroehling in Issue 349)TraktNet.Parameters
(by @henrikfroehling in Issue 354)
TraktExtendedInfo
TraktPagedParameters
TraktIncludeReplies
API Diff: https://www.fuget.org/packages/Trakt.NET/1.3.0/lib/netstandard2.0/diff/1.2.0
Full Changelog: https://github.com/henrikfroehling/Trakt.NET/compare/v1.2.0...v1.3.0
TraktLastActivity
enumeration (by @henrikfroehling in Issue 198)ITraktStatistics
(by @henrikfroehling in Issue 200)ITraktSeason
(by @henrikfroehling in Issue 242)ITraktSyncLastActivities
and add missing properties (by @henrikfroehling in Issue 257)TraktShowStatus
enumeration (by @henrikfroehling in Issue 264)ITraktPerson
(by @henrikfroehling in Issue 266)GetShowAsync
returns Status null when status is 'upcoming' (by @henrikfroehling in Issue 208)GetShowAsync
returns Status null when status is 'planned' (by @henrikfroehling in Issue 221)Full Changelog: https://github.com/henrikfroehling/Trakt.NET/compare/v1.1.0...v1.1.1
Full Changelog: https://github.com/henrikfroehling/Trakt.NET/compare/v1.0.2...v1.1.0
Full Changelog: https://github.com/henrikfroehling/Trakt.NET/compare/v1.0.1...v1.0.2
Full Changelog: https://github.com/henrikfroehling/Trakt.NET/compare/v1.0.0...v1.0.1
Breaking Changes:
New response classes
TraktNoContentResponse
replaces all Task
return types in Modules
TraktResponse<TContentType>
replaces all Task<TItem>
return types in Modules
TraktListResponse<TContentType>
replaces all Task<IEnumerable<TItem>>
return types in Modules
TraktPagedResponse<TContentType>
replaces all Task<TraktPaginationListResult<TItem>>
return types in Modules
.NET Standard 1.1 replaces PCL
Full Changelog: https://github.com/henrikfroehling/Trakt.NET/compare/v1.0.0-beta...v1.0.0
Breaking Changes:
New response classes
TraktNoContentResponse
replaces all Task
return types in Modules
TraktResponse<TContentType>
replaces all Task<TItem>
return types in Modules
TraktListResponse<TContentType>
replaces all Task<IEnumerable<TItem>>
return types in Modules
TraktPagedResponse<TContentType>
replaces all Task<TraktPaginationListResult<TItem>>
return types in Modules
.NET Standard 1.1 replaces PCL
Full Changelog: https://github.com/henrikfroehling/Trakt.NET/compare/v1.0.0-alpha3...v1.0.0-beta
Breaking Changes:
New response classes
TraktNoContentResponse
replaces all Task
return types in Modules
TraktResponse<TContentType>
replaces all Task<TItem>
return types in Modules
TraktListResponse<TContentType>
replaces all Task<IEnumerable<TItem>>
return types in Modules
TraktPagedResponse<TContentType>
replaces all Task<TraktPaginationListResult<TItem>>
return types in Modules
.NET Standard 1.1 replaces PCL
Added:
ITraktUserCustomListPost
(Issue 123)Fixed:
Improved: