Evernote Sdk: Authenticate To Shared Notebook
Solution 1:
You're using the wrong sharedNotebookStoreUrl
.
A SharedNotebook
is the record of a share of a Notebook
N from account A to account B. It is stored in the noteStoreUrl
of account A (notebook N). Account B will have a corresponding LinkedNotebook
record that points to the SharedNotebook (not the notebook). The LinkedNotebook
will be on account B.
NoteStoreUrl for account A NoteStoreUrl for account B
Notebook N LinkedNotebook L (points to S)
SharedNotebook S (points to N)
Sounds like you're in account B and trying to access the Notebook N. What you want to do is fetch the noteStoreUrl from the LinkedNotebook L and then use that to call authenticateToSharedNotebook
. You can fetch the LinkedNotebooks by calling listLinkedNotebooks.
Solution 2:
Not sure if this will work in your exact scenario, but you can try the following to create the Linked Notebook in User B's account (I do something similar to this in a slightly different scenario):
LinkedNotebook linkedNotebook = new LinkedNotebook();
linkedNotebook.SharedNotebookGlobalId = <the shareKey you got from the server>
linkedNotebook.ShareName = <the name of the Shared Notebook>
linkedNotebook.Username = <the username of user A; i.e. the owner of the Shared Notebook>
linkedNotebook.ShardId = <the shardId of the notebook in user A's account>
LinkedNotebook createdLinkedNotebook = noteStore.createLinkedNotebook(authenticationToken, linkedNotebook);
Post a Comment for "Evernote Sdk: Authenticate To Shared Notebook"