2017-06-23 62 views
0

我目前正在測試一個自定義應用程序,以執行與Evernote服務的完全同步。我正在使用Evernote的測試網站sandbox.evernote.com。一切都很順利,直到我試圖在同一個測試服務器上創建第二個帳戶,以便與我的第一個帳戶共享一個筆記本以測試鏈接筆記本內容的同步。印象筆記API:無法同步沙盒服務器上的鏈接筆記本的內容

Evernote的API方法我爲了與連接筆記本電腦中的內容同步調用如下:

  1. authenticateToSharedNotebook - 工程即返回認證令牌的筆記本,然而,令牌的到期時間是提前1小時。有點奇怪,但仍然可用於測試。
  2. getLinkedNotebookSyncState - 也有效,返回有效外觀同步狀態。
  3. getLinkedNotebookSyncChunk - 我把之前收到的同步用戶內容的鏈接筆記本叫做usN = 0(因爲這是這個鏈接筆記本內容的第一個同步),max entries = 50(隨機挑選的值,與getFilteredSyncChunk一起工作正常方法從用戶自己的帳戶同步的東西),完全同步只= true。該方法拋出EDAMUserException異常,它說PERMISSION_DENIED parameter=authenticationToken

據我瞭解,我開發的關鍵是full型的,而不是basic - 我能夠既從我的應用程序沙箱讀取和更新註釋,所以它不是升級的關鍵問題從basicfull

如果這很重要,我在C++/Qt中使用非官方的API implementation,但是它的工作方式像直到現在一樣,它使用的代碼是從Thrift IDL文件自動生成的,所以沒有跡象表明問題是與客戶端的API實現。

如果Evernote的某個人能解釋我爲什麼收到這個錯誤以及如何解決這個問題,那麼我可以繼續測試與鏈接的筆記本同步。

回答

0

我似乎想通了什麼問題了:

  1. 我使用了相同的NoteStore對象同步兩個用戶自己的內容和鏈接的筆記本電腦內容 - 可能已經確定,如果我正確設置的說明存儲該對象的URL,以便它對應於我試圖同步的鏈接的筆記本。我沒有那樣做。現在我爲用戶自己的內容和每個鏈接的筆記本使用單獨的NoteStore對象,每個對象都有自己的適當筆記存儲URL。
  2. 我在調用getLinkedNotebookSyncChunk時使用了錯誤的認證令牌:我使用了通過authenticateToSharedNotebook獲得的令牌,而我應該使用「常規」用戶自己的認證令牌。

我改變了這兩件事情,現在不引發異常,鏈接筆記本的同步塊被正確下載。

相關問題