Skip to content

No documentation on how to refresh a creator access token #16

Open

Description

@Vaerys-Dawn

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();
    }
}```

Activity

  1. jrsun commented on Mar 19, 2018

    @jrsun
    Contributor

    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.

  2. decmurphy commented on Aug 30, 2018

    @decmurphy

    @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.

  3. vlanard commented on Aug 30, 2018

    @vlanard

    You're right, this is a bug. Thanks for surfacing this @murphd37.

  4. decmurphy commented on Aug 30, 2018

    @decmurphy

    Cool, pull request submitted @ #22

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions