Evernote APIの新機能-findRelated():関連ノートの検索

画像

少し前、サンフランシスコのEvernote Trunk Conferenceで、独立した開発者とパートナーが使用できる新しいAPI関数NoteStore.findRelatedを発表しました。 関数の名前が示すように、ソースデータと何らかの意味で関連するメモ、ノートブック、タグを要求することができます(入力時のデータは、別のメモの識別子またはプレーンテキストのいずれかです)。

Evernoteは、現在自分に関連のあるトピックに関するアカウントのメモをユーザーに即座に表示するようにすれば、Evernoteがより便利になるという考えです。 新しいAPI関数により、このような情報を簡単に見つけて表示できます。 この機能がどのように機能するかを見てみましょう。

Githubでは、 findRelatedを使用するPythonアプリケーションの例を見つけることができます。 以下のコードはこのアプリケーションから取得したものです。したがって、必要に応じてすぐにアクセスできます。

Evernote Cloud APIで既に認証済みで、ソースリクエストとして使用したいというメモがあるとします。 次に、リクエストは次のように実装されます。

画像

承認トークン(テスト用の開発者トークンとOAuthから取得したトークンの両方)にRelatedQueryRelatedResultSpecパラメーターとして渡す2つのオブジェクトを作成し、データを設定する必要があります: RelatedQueryおよびRelatedResultSpec

関連クエリ


このクラスを使用すると、関連するノートを検索するための入力として使用するもの(単一のノートまたはテキストのブロック)を正確に指定できます。 上記のスニペットでは、未定義の引数parameterを具体的に示しました。これは、メモまたは文字列のいずれかです。 RelatedQuery定義するときに、ソースデータとしてメモがある場合、そのGUIDを使用します。 次に、関数を呼び出すときの最初のパラメーター(この例ではparameterと呼ばれparameter )として、Note型のオブジェクトを渡し、このGUIDをnoteGuidオブジェクトのnoteGuid属性として指定します。 パラメータがメモではない場合、それは単なる文字列であるとplainText 、その値をplainTextオブジェクトのplainText属性にplainTextます。

plainTextまたはnoteGuid使用できることに注意してください。 それらを同時に使用したり、まったく使用したりすることはできません。この場合、サーバーは例外をスローします。

RelatedQuery APIヘルプを RelatedQuery

RelatedResultSpec


RelatedResultSpec使用すると、 findRelated呼び出されたときにEvernote Cloud APIによって返される結果のタイプと数を制御できます。 次のパラメーターを1つ以上指定できます。

彼らの名前から、彼らの目的は明らかです。 maxNotesに数値を指定すると、対応する(またはそれより少ない)数のノートが取得されます。 これは、メモ帳とラベルでも同様に機能します。 このパラメーターまたはそのパラメーターの値を指定しない場合、対応するタイプの結果を受け取りません。

この例では、 maxNotesのみを定義しmaxNotes 。 つまり、findRelatedによって返されるRelatedResult RelatedResultには、メモ帳やラベルは含まれません。

RelatedResultSpec APIヘルプを RelatedResultSpec

ユースケース


このAPI関数は、多くの状況で役立ちます。 Evernoteでは、ブラウザのWebクリッパーでfindRelatedを使用して、表示されているWebページにテーマ的に関連している可能性のあるアカウントのユーザーノートを表示します。 この機能は、Webページのフラグメントから新しいノートを作成するときに、「推測」ラベルおよびノー​​トブックでも使用されます。

たとえば、会議および会議メモに特化したアプリケーションを開発している場合、 findRelatedは、現在のドキュメントと同様の会議メモをすばやく表示するのに役立ちます。 多くの場合、 findRelatedを使用することが適切であり、比較的少ない労力でアプリケーションの有用性を大幅に高めることができます。

おわりに


すべてが順調に進んだ場合は、 RelatedResultオブジェクトを取得します。この場合、1〜3の関連するメモが含まれています。 これらはNoteオブジェクトなので、名前、GUID、メタデータなどをリクエストできます。

findRelated関数のfindRelated、APIドキュメントに記載されています

APIの使用に関する詳細およびEvernoteと統合されたアプリケーションの開発に関するその他の情報については、 開発者向けサイトをご覧ください。 そのようなプロジェクトの作業をすでに開始している場合は、当社の競争に参加し、 Evernoteプレミアムサブスクリプションを使用して最初のユーザーを引き付けることを忘れないでください。

Source: https://habr.com/ru/post/J159423/


All Articles