Interact with the Patreon API via OAuth.
It's a fork which support Patreon API v2!!
Add the following to your build.gradle.kts file:
repositories {
// The fork is not published to maven central yet, so you need to add the jitpack repository
maven("https://jitpack.io")
}
dependencies {
// Or specify a specific commit hash instead of master-SNAPSHOT
implementation("com.github.devlikeapro:patreon-java:master-SNAPSHOT")
}Visit the Patreon Platform Page while logged in as a Patreon creator to register your client.
This will provide you with a client_id and a client_secret.
import com.github.jasminb.jsonapi.JSONAPIDocument; import com.patreon.PatreonAPI; import com.patreon.PatreonOAuth; import com.patreon.PatreonOAuth; import com.patreon.resources.v1.User; import com.patreon.resources.v1.Pledge; ... String clientId = null; // Get this when you set up your client String clientSecret = null; // Get this when you set up your client String redirectUri = null; // Provide this to set up your client String code = null; // Get this from the query parameter `code` PatreonOAuth oauthClient = new PatreonOAuth(clientId, clientSecret, redirectUri); PatreonOAuth.TokensResponse tokens = oauthClient.getTokens(code); //Store the refresh TokensResponse in your data store String accessToken = tokens.getAccessToken(); PatreonAPI apiClient = new PatreonAPI(accessToken); JSONAPIDocument<User> userResponse = apiClient.fetchUser(); User user = userResponse.get(); Log. i(user.getFullName()); List<Pledge> pledges = user.getPledges() if(pledges !=null&&pledges. size() >0){ Pledge pledge = pledges.get(0); Log. i(pledge.getAmountCents()); } // You should save the user's PatreonOAuth.TokensResponse in your database // (for refreshing their Patreon data whenever you like), // along with any relevant user info or pledge info you want to store.