2016-10-20 3 views
0

既に共有されている共有ノートブックにメモを作成しようとしています。ノートブックは私のコンテンツ(SharedNotebookPrivilegeLevel.MODIFY_NOTEBOOK_PLUS_ACTIVITY)を変更する特権を持って私と共有され、Evernoteウェブクライアントを使用してそのノートブックにノートを作成することができます。しかしSDKを使用してメモを作成しようとすると、EDAMUserException(errorCode:PERMISSION_DENIED、パラメータ:authenticationToken)が届きました。以下は私のコードLinkedNotebookでメモを作成する

Note note = new Note(); 
note.setContent(EvernoteUtil.NOTE_PREFIX + content + EvernoteUtil.NOTE_SUFFIX); 
note.setTitle(title); 
EvernoteSession evernoteSession = EvernoteSession.getInstance(); 
List<LinkedNotebook> linkedNotebooks = evernoteSession 
     .getEvernoteClientFactory() 
     .getNoteStoreClient() 
     .listLinkedNotebooks(); 
LinkedNotebook current = null; 
for (LinkedNotebook linkedNotebook : linkedNotebooks) { 
    if (linkedNotebook.getShareName().equals(notebookName)) { 
     current = linkedNotebook; 
    } 
} 
if (current == null) 
    throw new IllegalStateException(); 
THttpClient tHttpClient = new THttpClient(current.getNoteStoreUrl()); 
TBinaryProtocol tBinaryProtocol = new TBinaryProtocol(tHttpClient); 
NoteStore.Client client = new NoteStore.Client(tBinaryProtocol, tBinaryProtocol); 
AuthenticationResult authenticationResult = client.authenticateToSharedNotebook(current.getShareKey(), 
     evernoteSession.getAuthToken()); 
String shareToken = authenticationResult.getAuthenticationToken(); 
SharedNotebook sharedNotebook = client.getSharedNotebookByAuth(shareToken); 
String sharedNotebookGuid = sharedNotebook.getNotebookGuid(); 
note.setGuid(sharedNotebookGuid); 
Note createdNote = client.createNote(shareToken, note); 
return createdNote; 

である私はノートを作成するためにthis記事を使用しました。私が見つけた

答えて

1

1つのミスは

note.setGuid(sharedNotebookGuid); 

がなければならないことである

note.setNotebookGuid(sharedNotebookGuid); 
関連する問題