使用事例:
ユーザーが美しい写真を撮り、自分の evernote アカウントに保存したいと考えています。
- ユーザーは OAuth 2.0 で承認します。サービスは資格情報を保存します。
- OAuth 2.0 ダンスが完了した直後に、サービスは「Save to Evernote」という連絡先を挿入します。
- 次に、サービスは、タイムライン コレクションのサブスクリプションを挿入することにより、このユーザーのタイムラインの更新をサブスクライブします。
- ユーザーが連絡先を有効にします。Evernote への保存の設定が完了しました。
- 時間が経つにつれて、ユーザーは写真を撮ります。
- ユーザーが Save to Evernote で写真を共有します。これにより、この写真に関連付けられたタイムライン カードがサービスにアクセスできるようになります。
- サービスはタイムラインの更新をサブスクライブしているため、サービスに通知が送信されます。この通知は、共有された写真を含むタイムライン アイテムにリンクします。
- サービスは通知を調べ、含まれている ID を使用して、写真を含むタイムライン カードをフェッチします。
- 次に、サービスはタイムライン アイテムを調べ、添付ファイル ID を使用して写真のバイトをフェッチします。
- このサービスは、写真をユーザーの Evernote にアップロードします。
- 最後に、サービスは新しいタイムライン カードを作成し、それを成功メッセージと共にユーザーのタイムライン カードに挿入します。
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ユーザーとの連絡先に接続して、サービスがそのユーザーに固有のサービスを代わりに実行できるようにするにはどうすればよいですか?