我正在一个Java项目中,该项目通过在Evernote上创建的应用程序将Evernote服务集成到其中。目前,除了访问撤销之外,其他所有东西都工作正常。

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

为此,我正在寻找一些样本,但空手而归。我找到的一个链接是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);

关于java - Java,Evernote:撤销Evernote上的应用程序访问权限,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35154802/

10-16 04:14