/ / Java, Evernote: revoca l'accesso per l'app su Evernote: java, autorizzazione, evernote

Java, Evernote: revoca l'accesso per l'app su Evernote: java, autorizzazione, evernote

Sto lavorando a un progetto Java che ha integrato i servizi Evernote attraverso un'app creata su Evernote. Attualmente, tutto funziona bene, tranne che per la revoca dell'accesso.

Quando un utente che ha già autorizzato l'app, a un certo punto decide di non concedere l'accesso a questa app, desidero anche rimuovere l'app dall'account Evernote degli utenti.

Per questo, sto cercando un campione, ma è venuto a mani vuote. Un link che ho trovato è stato Questo, dove è stato richiesto di chiamare quel metodo con UserStore. Ho il token di accesso, ma sfortunatamente sto lavorando solo con NoteStoreClient, piuttosto che con UserStore.

Ecco il codice di revoca che ho finora.

 Person person = this.personService.getCurrentlyAuthenticatedUser();

if (!(person == null)) {
if (person.isEvernoteConsumed()) {
try {
this.evernoteDAO.deleteEvernoteForUser(person.getId());

Evernote evernote = getUsersEvernote(person.getId());
EvernoteAuth evernoteAuth = new EvernoteAuth(EVERNOTE_SERVICE, evernote.getAccessToken());
NoteStoreClient noteStoreClient = new ClientFactory(evernoteAuth).createNoteStoreClient();

}catch (Exception e){
e.printStackTrace();
}
}
}

Niente di strano in quel codice, lo so. Se qualcuno ha qualche idea di revoca da Evernote, cortesemente fammi sapere. Grazie.

risposte:

2 per risposta № 1

Sei sulla buona strada, quel metodo UserStore ti consentirà di revocare la tua sessione OAuth. Come hai detto, devi invece usare il client userstore, dovresti essere in grado di crearlo nello stesso modo in cui hai fatto il client del notestore:

UserStoreClient userStoreClient =
new ClientFactory(evernoteAuth).createUserStoreClient();
userStoreClient.revokeLongSession(evernoteAuth);