Google mirror api 添加新的时间线项目时更新捆绑包封面

Google mirror api 添加新的时间线项目时更新捆绑包封面,google-mirror-api,google-glass,Google Mirror Api,Google Glass,我有一个基于Android的应用程序,我正在开发一个Glass应用程序作为配套 应用程序的代码存在于两个地方: Web应用程序(OAuth身份验证/令牌创建、创建订阅、处理来自Google服务器的notify回调) Android应用程序(创建共享联系人、删除共享联系人以及为“相册”创建捆绑封面) 在处理所有OAuth身份验证并与Mirror API通信后,用户可以在Android应用程序中创建共享联系人。该过程的一部分包括创建一个时间线项目,作为相册的捆绑封面 在Glass上,当用户与该联

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

应用程序的代码存在于两个地方:

  • Web应用程序(OAuth身份验证/令牌创建、创建订阅、处理来自Google服务器的notify回调)
  • Android应用程序(创建共享联系人、删除共享联系人以及为“相册”创建捆绑封面)
在处理所有OAuth身份验证并与Mirror API通信后,用户可以在Android应用程序中创建共享联系人。该过程的一部分包括创建一个时间线项目,作为相册的捆绑封面

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

所有这些都很好,没有问题

我遇到的是,7天后,时间线卡开始从玻璃界面上掉落。这包括我的“相册”包皮

显然,我需要更新包封面以保持活动状态,但我不太确定如何做到这一点(也就是说,在不快速突破配额的情况下)。使用镜像API,我能够从时间线中检索项目,然后检查每个项目是否有我的捆绑包封面(基于捆绑包ID和isBundleOver标志)——但这在每天保存1000个请求时效率极低。我是否只是以一种非预期的方式使用捆绑包

有没有一种更简单、更有效的方法来获取捆绑包封面并简单地更新它,这样它就不会在7天后从时间表上掉下来?在某种程度上,似乎我不需要每次共享新照片时都更新捆绑包,但我不确定是否有其他选择

正如我提到的,捆绑包是在Android应用程序中创建的,该ID被提交到web应用程序和Android应用程序共享的后端数据库。除了使用bundleID查询数据库以获取捆绑包的原始ItemID之外,我不确定如何在notify处理程序中访问捆绑包ItemID


谢谢你的建议

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

除此之外,您还可以做一些事情,使通过镜像API在时间轴中查找卡片变得更容易,因为该方法提供了一些额外的参数来缩小结果范围

  • ?bundleId=yourBundleId

    这将只返回所提供bundleId的结果,这取决于您的bundle中有多少卡,您可能会在第一个结果页面上找到所需的卡,因此只需要一个API请求

  • &sourceItemId=something

    如果您的捆绑包变得相当大,以至于无法在第一个结果页面上找到捆绑包封面,那么您可以做的一件事是另外定义一个
    sourceItemId
    ,您只为捆绑包封面而不为捆绑包内的任何其他卡设置该ID。这样,查找
    bundleId
    +
    sourceItemId
    (您也可以将其设置为相同的bundleId以使其更简单)的结果中只有一个项目,即包封面


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

    感谢您的评论,并确认了我关于如何处理更新的部分理论。如果在未来几天内没有其他想法提交,我会接受这个答案。再次感谢!