4

使用事例:

ユーザーが美しい写真を撮り、自分の evernote アカウントに保存したいと考えています。

ここに画像の説明を入力

  1. ユーザーは OAuth 2.0 で承認します。サービスは資格情報を保存します。
  2. OAuth 2.0 ダンスが完了した直後に、サービスは「Save to Evernote」という連絡先を挿入します。
  3. 次に、サービスは、タイムライン コレクションのサブスクリプションを挿入することにより、このユーザーのタイムラインの更新をサブスクライブします。
  4. ユーザーが連絡先を有効にします。Evernote への保存の設定が完了しました。
  5. 時間が経つにつれて、ユーザーは写真を撮ります。
  6. ユーザーが Save to Evernote で写真を共有します。これにより、この写真に関連付けられたタイムライン カードがサービスにアクセスできるようになります。
  7. サービスはタイムラインの更新をサブスクライブしているため、サービスに通知が送信されます。この通知は、共有された写真を含むタイムライン アイテムにリンクします。
  8. サービスは通知を調べ、含まれている ID を使用して、写真を含むタイムライン カードをフェッチします。
  9. 次に、サービスはタイムライン アイテムを調べ、添付ファイル ID を使用して写真のバイトをフェッチします。
  10. このサービスは、写真をユーザーの Evernote にアップロードします。
  11. 最後に、サービスは新しいタイムライン カードを作成し、それを成功メッセージと共にユーザーのタイムライン カードに挿入します。

Mirror API ドキュメントから、ユーザーがタイムライン アイテムを共有すると、サービスは次のような POST を受信するように見えます。

{
  "collection": "timeline",
  "itemId": "3hidvm0xez6r8_dacdb3103b8b604_h8rpllg",
  "operation": "UPDATE",
  "userToken": "harold_penguin",
  "verifyToken": "random_hash_to_verify_referer",
  "userActions": [
    {
      "type": "SHARE"
    }
  ]
}

userToken は、最初にアプリケーションを認証するときに受け取る値ですか? その場合、その値を使用して、Glass から受信した POST をデータベースに保存されているユーザーに接続できますか? そうでない場合、共有をサービスのGlassユーザーとの連絡先に接続して、サービスがそのユーザーに固有のサービスを代わりに実行できるようにするにはどうすればよいですか?

4

1 に答える 1

3

これuserTokenは実際、通知をトリガーしたユーザーに関連付けるために使用するフィールドです。

そのユーザーのサブスクリプションuserTokenを作成するときに設定します。サブスクリプションを挿入するときに指定した値は、生成されるすべての通知の として提供されます。つまり、サブスクリプションを作成するときは、システムが正しいユーザーに関連付けることができる一意の識別子を常に使用する必要があります。userToken

例えば:

  1. Jane はサービスで認証を行います。Jane は、Glassware のデータベースで一意のユーザー ID 42 を持っています。
  2. 認証時に、次のtimelineサブスクリプションを挿入して、彼女のコレクションをサブスクライブします。

    {
      "collection": "timeline"
      "userToken": "42",
      "callbackUrl": "https://example.com/notify/callback"
    }
    
  3. ジェーンはあなたの Glassware と写真を共有します。
  4. サービスに通知が送信されます。次のようになります。

    {
      "collection": "timeline",
      "itemId": "3hidvm0xez6r8_dacdb3103b8b604_h8rpllg",
      "operation": "UPDATE",
      "userToken": "42",
      "userActions": [
        {
          "type": "SHARE"
        }
      ]
    }
    
  5. Glassware はuserTokenプロパティを使用して、正しいユーザー Jane を検索します。

ストーリーの残りの部分は、質問で説明したとおりに進行します。

于 2013-04-19T23:54:07.507 に答える