2017-06-23 4 views
0

現在、Evernoteサービスとの完全同期を実行するカスタムアプリケーションをテストしています。私はEvernoteのテストサイトsandbox.evernote.comを使用しています。リンクされたノートブックのコンテンツの同期をテストするために、最初のアカウントでノートブックを共有するために、同じテストサーバーで2つ目のアカウントを作成しようとするまで、すべてうまくいった。次のように私がリンクされ、ノートブックの内容と同期するために呼び出すEvernote API:サンドボックスサーバー上のリンクされたノートブックのコンテンツを同期できません

EvernoteのAPIメソッドは以下のとおりです。

  1. authenticateToSharedNotebook - しかし、トークンの有効期限があり、つまりは、ノートPC用の認証トークンを返し作品わずか1時間先です。少し奇妙ですが、まだテストに使用できます。
  2. getLinkedNotebookSyncState - 有効であると思われる同期状態を返します。
  3. getLinkedNotebookSyncChunk - 私は、ユーザーのコンテンツの同期から以前に受信したリンクノートブックで、afterUSN = 0(これはリンクされたノートブックのコンテンツの最初の同期です)、max entries = 50(ランダムに選択した値はgetFilteredSyncChunkユーザーのアカウントからのものを同期するとき)、完全同期のみ=真となります。このメソッドは、PERMISSION_DENIED parameter=authenticationTokenというEDAMUserException例外をスローします。私は私のアプリからのサンドボックスに読み込み、更新ノートを両方できる午前、それがキーをアップグレードの問題ではない - 私の知る限り理解し、私の開発者の鍵がfullタイプではなく、basicの一つである

basicからfullまでです。

私はC++/Qtで非公式API implementationを使用していますが、これまでのところ魅力的でしたが、使用するコードはThrift IDLファイルから自動的に生成されるため、問題はありません。クライアントのAPI実装を使用します。

Evernoteの誰かがなぜこのエラーを受け取っているのか、これを克服してリンクされたノートブックで同期テストを続けることができるのか説明できたら大いに感謝します。

答えて

0

私が問題が何であったかを考え出したようだ:

  1. 私は両方のユーザ独自のコンテンツやリンクのノートPCからコンテンツを同期するために同じNoteStoreオブジェクトを使用 - 私はきちんとノートを設定した場合はOKだったかもしれないことそのオブジェクトにURLを格納して、同期しようとしているリンクされたノートブックに対応するようにします。私はそれをしなかった。ここでは、ユーザー自身のコンテンツと、リンクされたノートブックごとに、それぞれ固有のノートストアURLを持つ別々のNoteStoreオブジェクトを使用します。
  2. getLinkedNotebookSyncChunkへの呼び出しで間違った認証トークンを使用しました:「通常の」ユーザー自身の認証トークンを使用する必要がありましたが、authenticateToSharedNotebookで取得したトークンを使用しました。

変更されたこれらの2つの例外はスローされません。リンクされたノートブックの同期チャンクは適切にダウンロードされます。

関連する問題