patreon-java
patreon-java copied to clipboard
No documentation on how to refresh a creator access token
To refresh your creator's access token you need to be connected via OAUth there was no example explaining how to do so. I recommend adding an example to the readme.md to explain how to do so.
This is the code i had to use in order to refresh the token
//Id, token, and secret loaded from patreon.txt file.
public static void refreshPatreonToken(String clientID, String clientSecret, String refreshToken) {
try {
PatreonOAuthpatreonOAuth = new PatreonOAuth(clientID, clientSecret, "");
PatreonOAuth.TokensResponse refresh = patreonOAuth.refreshTokens(refreshToken);
StringBuffer tokenData = new StringBuffer();
tokenData.append(refresh.getAccessToken() + "\n");
tokenData.append(clientID + "\n");
tokenData.append(clientSecret + "\n");
tokenData.append(refresh.getRefreshToken());
FileHandler.writeToFile(Constants.FILE_PATREON_TOKEN, tokenData.toString(), true);
patreonApi = new PatreonAPI(refresh.getAccessToken());
} catch (HttpStatusException e) {
if (e.getStatusCode() == 401) {
System.out.println("Refresh Token Invalid.);
return;
}
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}```
Hi! First of all, thanks for writing this code and letting us know about this gap in our documentation. We're in the middle of improvements to our client libs, and I'll be sure to forward this to the relevant parties so that they know about it.
@Vaerys-Dawn - did this code actually work for you? When I wanted to refresh my tokens, I had to change the following line in com.patreon.PatreonOAuth
from
private static final String GRANT_TYPE_TOKEN_REFRESH = "token_refresh";
to
private static final String GRANT_TYPE_TOKEN_REFRESH = "refresh_token";
as per the official Patreon docs. I'm about to submit a pull request with the change, but your comment above has made me second-guess myself.
You're right, this is a bug. Thanks for surfacing this @murphd37.
Cool, pull request submitted @ https://github.com/Patreon/patreon-java/pull/22