# trakt-java
**Repository Path**: mirrors_chrisbanes/trakt-java
## Basic Information
- **Project Name**: trakt-java
- **Description**: A Java wrapper around the trakt v2 API using retrofit 2.
- **Primary Language**: Unknown
- **License**: Unlicense
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-08-08
- **Last Updated**: 2026-02-14
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
trakt-java
==========
A Java wrapper around the [trakt v2 API](http://docs.trakt.apiary.io/) using [retrofit 2](https://square.github.io/retrofit/).
Pull requests are welcome.
Trakt methods are grouped into service objects which can be centrally
managed by a `TraktV2` instance. It will act as a factory for
all of the services and will automatically initialize them with your
API key (OAuth client id) and optionally a given user access token.
## Usage
Available on Maven Central
Add the following dependency to your Gradle project:
```groovy
implementation 'com.uwetrottmann.trakt5:trakt-java:6.2.0'
```
Or for Maven:
```xml
com.uwetrottmann.trakt5
trakt-java
6.2.0
```
### Android
This library ships Java 8 bytecode. This requires Android Gradle Plugin 3.2.x or newer.
This library depends on [threetenbp](https://github.com/ThreeTen/threetenbp). To avoid
[issues on Android](https://github.com/JakeWharton/ThreeTenABP#why-not-use-threetenbp) you should exclude this
dependency and include [ThreeTenABP](https://github.com/JakeWharton/ThreeTenABP) instead:
```groovy
implementation ('com.uwetrottmann.trakt5:trakt-java:') {
exclude group: 'org.threeten', module: 'threetenbp'
}
implementation 'com.jakewharton.threetenabp:threetenabp:'
```
### Example
Use like any other retrofit2 based service. You only need to supply your
[OAuth 2.0](https://www.digitalocean.com/community/tutorials/an-introduction-to-oauth-2) credentials and optional user
OAuth access token obtained from trakt.
`TraktV2` provides some helper methods to handle the OAuth 2.0 flow.
```java
TraktV2 trakt = new TraktV2("api_key");
Shows traktShows = trakt.shows();
try {
// Get trending shows
Response> response = traktShows.trending(1, null, Extended.FULL).execute();
if (response.isSuccessful()) {
List shows = response.body();
for (TrendingShow trending : shows) {
System.out.println("Title: " + trending.show.title);
}
} else {
if (response.code() == 401) {
// authorization required, supply a valid OAuth access token
} else {
// the request failed for some other reason
}
}
} catch (Exception e) {
// see execute() javadoc
}
```
See test cases in `src/test/` for more examples and the [retrofit website](https://square.github.io/retrofit/) for configuration options.
## Use Proguard!
You likely will not use every method in this library, so it is probably useful to strip unused ones with Proguard.
Just apply the [Proguard rules for retrofit](https://square.github.io/retrofit/#download).
## License
Created by [Uwe Trottmann](https://uwetrottmann.com).
See full [list of contributors](https://github.com/UweTrottmann/trakt-java/graphs/contributors).
Except where noted otherwise, released into the [public domain](UNLICENSE).
Do not just copy, make it better.