Java,Evernote:撤销应用程序在 Evernote 上的访问权限

Java, Evernote : Revoke access for app on Evernote

我正在开发一个 Java 项目,该项目通过在 Evernote 上创建的应用程序将 Evernote 服务集成到其中。目前,一切正常,除了访问撤销。

当已经授权该应用程序的用户在某个时候决定不授予该应用程序任何访问权限时,我还想从用户的 evernote 帐户中取消对该应用程序的授权。

为此,我正在寻找一些样本,但一无所获。我发现的一个 link 是 this,它需要用 UserStore 调用该方法。我有访问令牌,但不幸的是我只使用 NoteStoreClient,而不是 UserStore。

这是我目前拥有的吊销代码。

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

我知道,该代码没什么特别的。如果有人有任何从 Evernote 撤销的想法,请告诉我。谢谢。

您的方向是对的,that UserStore method 会让您撤销 OAuth 会话。就像你说的,你必须改用 userstore 客户端,你应该能够像创建 notestore 客户端一样创建它:

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