用例:
用户拍了一张漂亮的照片,并希望将其保存到他们的印象笔记帐户中。
- 用户使用 OAuth 2.0 进行授权。该服务存储他们的凭据。
- 就在 OAuth 2.0 舞蹈完成后,该服务会插入一个名为“保存到 Evernote”的联系人。
- 接下来,该服务通过插入对时间线集合的订阅来订阅此用户时间线中的更新。
- 用户激活联系人。保存到 Evernote 现已完全设置。
- 随着时间的推移,用户拍照。
- 用户通过 Save to Evernote 分享照片。这使得服务可以访问与此照片关联的时间线卡。
- 由于该服务订阅了时间线更新,因此会向您的服务发送通知。此通知链接到包含共享照片的时间线项目。
- 该服务检查通知并使用包含的 id 来获取包含照片的时间线卡片。
- 接下来,该服务检查时间线项目并使用附件 ID 来获取照片的字节。
- 该服务将照片上传到用户的印象笔记。
- 最后,该服务构造一个新的时间线卡片,并将其与成功消息一起插入到用户的时间线卡片中。
从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 用户的联系人,以便我的服务可以代表他们执行特定于该用户的服务?