添加新时间轴项目时更新捆绑封面

时间:2013-07-16 18:50:03

标签: google-mirror-api google-glass

我有一个基于Android的应用程序,我正在开发一个Glass应用程序作为伴侣。

应用程序代码分为两个部分:

  • 网络应用(OAuth身份验证/令牌创建,创建订阅,处理来自Google服务器的通知回调)
  • Android应用(创建共享联系人,删除共享联系人并为“相册”创建捆绑封面)

在处理完所有OAuth身份验证并与Mirror API通信后,用户可以在Android应用中创建共享联系人。该过程的一部分包括创建时间轴项目,作为相册的捆绑封面。

在Glass上,当用户与该联系人共享照片时,我的网络应用程序中的通知处理程序会将照片分配给在建立共享联系人时创建的包。

所有这一切都很好 - 那里没有问题。

我遇到的是7天后,时间卡从Glass界面开始下降。这包括我的“相册”的捆绑封面。

显然我需要更新捆绑封面以保持活动状态,但我不太清楚如何做到这一点(没有快速浏览我的配额,就是这样)。使用Mirror API,我已经能够从时间线中检索项目,然后检查每个项目的包装封面(基于包ID和isBundleCover标志) - 但是在保留我的1000个请求时,这非常低效。天。我是否只是以不适合的方式使用捆绑包?

是否有一种更简单,更有效的方法来获取捆绑封面并简单地更新它以使其在7天后不会脱离时间线?在某种程度上,似乎每次分享新照片时我都不需要更新软件包,但我不确定是否有替代方案。

正如我所提到的,该捆绑包是在Android应用程序中创建的,该ID将提交给Web应用程序和Android应用程序共享的后端数据库。如果没有使用bundleID查询db来获取bundle的原始ItemID,我不知道如何在notify处理程序中访问bundle ItemID。

感谢您的任何建议!

1 个答案:

答案 0 :(得分:3)

正如您所提到的,在保留API配额时最有效的方法是将捆绑封面的itemID保存在您自己的数据存储区中,并在需要时从那里检索

除此之外,您还可以通过镜像API更轻松地在时间轴中查找卡片,因为timeline.list方法提供了一些额外的参数来缩小搜索范围。

  1. ?bundleId=yourBundleId

    这只会返回带有提供的bundleId的结果,具体取决于捆绑包中有多少张卡,您可能会在第一个结果页面上找到必要的卡片,因此只需要一个API请求

  2. &sourceItemId=something

    如果您的捆绑包变得相当大,以至于在第一个结果页面上找不到捆绑封面,您可以做的另一件事是另外定义一个sourceItemId,您只需为捆绑封面设置捆绑内的其他卡都没有。这样寻找bundleId + sourceItemId(您也可以将其设置为相同的bundleId以使其更容易)在结果中只有一个项目,即捆绑封面。

  3. 使用这些方法,您应该能够在一个请求中找到正确的卡,并在第二个请求中更新它。

相关问题