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.
importcom.github.jasminb.jsonapi.JSONAPIDocument;
importcom.patreon.PatreonAPI;
importcom.patreon.PatreonOAuth;
importcom.patreon.PatreonOAuth;
importcom.patreon.resources.v1.User;
importcom.patreon.resources.v1.Pledge;
...
StringclientId = null; // Get this when you set up your clientStringclientSecret = null; // Get this when you set up your clientStringredirectUri = null; // Provide this to set up your clientStringcode = null; // Get this from the query parameter `code`PatreonOAuthoauthClient = newPatreonOAuth(clientId, clientSecret, redirectUri);
PatreonOAuth.TokensResponsetokens = oauthClient.getTokens(code);
//Store the refresh TokensResponse in your data storeStringaccessToken = tokens.getAccessToken();
PatreonAPIapiClient = newPatreonAPI(accessToken);
JSONAPIDocument<User> userResponse = apiClient.fetchUser();
Useruser = userResponse.get();
Log.
i(user.getFullName());
List<Pledge> pledges = user.getPledges()
if(pledges !=null&&pledges.
size() >0){
Pledgepledge = 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.