【问题标题】:How to call the Mirror API from GDK?如何从 GDK 调用镜像 API?
【发布时间】:2013-12-27 17:23:31
【问题描述】:

我对如何在 Glass 中做某事有一些难点。我正在为我的应用程序考虑的当前流程几乎与现有的镜像 API 流程相同,例如 Evernote 或共享照片。除了一个主要的警告外,用户对我的 Glassware 做的第一件事就是搜索某物,然后显示可能的结果列表。然后他们可以选择其中一个并将其发布,以及对我的服务的评论。

要发给我,他们需要经过身份验证或至少以某种方式提供身份信息。我想出的两种方法是提供一个带有与该用户绑定的 API 密钥的 QR 码并用玻璃扫描它,以便它可以随请求存储和发送该密钥,或者以某种方式使用 Mirror API .如果用户在我端登录,然后通过 Google 进行 OAuth,我可以立即订阅某种自定义事件或添加联系人以通过我的 Glassware 或其他方式发布更新,Google 将通过回调给我用户身份.但是,我计划创建一种沉浸式体验,以允许用户在结果之间进行分页,而不是插入静态卡片,并且不知道如何从那里启动 Mirror API 调用。

虽然 WiFi 设置有先例,但 QR 码的东西看起来很奇怪……但它似乎并不合适。我宁愿通过镜像 API,有什么想法吗?

我会接受该功能尚不存在,我应该提交或扩展现有问题...但我只是想事先检查每个人现在是如何处理这个问题的。

【问题讨论】:

    标签: google-glass google-mirror-api google-gdk


    【解决方案1】:

    首先,关于与 GDK Glassware 共享服务的身份验证信息:

    目前还没有官方推荐的干净的方式来执行此操作,但 Glass 团队正在积极致力于未来的发布。 Strava Glassware 已经在使用早期版本。

    它将提供一个 REST API。您发布到此 Web 服务的任何身份验证信息都将通过AccountManager 暴露给您的 GDK Glassware。

    接下来,关于使用 Glass 的 Mirror API:目前也没有很好的方法来做到这一点。将来会更容易,例如通过我上面提到的身份验证流程。但是,同时使用 GDK 和 Mirror 是 Glass 团队期望开发人员使用的边缘,因为它增加了如此多的复杂性。如果 Mirror API 上只有很小的差距,请通过在 official issue tracker 中提交功能请求来帮助缩小差距。

    【讨论】:

    • 感谢您的洞察力。做 Strava 所做的事情对我来说是理想的。在网站上进行授权,发送玻璃器皿拾取的身份信息。有什么办法可以做到这一点,还是暂时锁定?我尝试在连接 Glass 的情况下启动 Strava 并阅读 LogCat,但我没有看到任何看起来与获取个人资料卡相匹配的内容。通过 Mirror 是一种解决方法,如果存在,我宁愿不这样做,但计划是订阅自定义事件,GDK 将通过 Mirror 发送该事件,并且通知上会显示一个令牌跨度>
    • 目前不可用。这仍然是一项正在进行中的工作。它将在 GDK 的未来版本中提供。现在,你可以通过伪装来继续你的开发。例如,您可以使用 adb 将一些凭据加载到 AccountManager 中。
    • @JennyMurphy 能否为我们提供有关如何使用 adb 创建虚假凭据的参考资料?
    【解决方案2】:

    https://developers.google.com/glass/develop/gdk/authentication 现在可能会有所帮助。虽然对如何使用 PHP 创建服务认证页面的解释还不够。

    【讨论】:

      【解决方案3】:

      您可以在 Android 应用中打开一个 Web 视图,加载您的 Web 服务的身份验证 URL。身份验证完成后,Web 服务可以将身份验证令牌放入重定向 url,然后您的 Android 应用可以使用 shouldOverrideUrlLoading 拦截重定向 url 加载。

      您可能需要做一些额外的事情来使这个机制更安全。

      【讨论】:

      • 主要问题是 Glass 没有键盘,所以我无法通过设备上的服务进行身份验证。我想我可以做一些 hinky 的事情,比如有一个代码短语,用户可以通过语音识别向 Glass 朗读,并将其视为 Glassware 将提供给 Web 服务以换取身份验证令牌的某种不记名令牌。这比 QR 更容易,因为它是内置的……但是,理想的做法是使用 Mirror API OAuth 流程并能够从 GDK 发送到 Mirror API 联系人。只是现在不知道这是否可能......或者如果它是怎么可能的。
      【解决方案4】:

      您可能需要从 Mirror API 插入 Mirror 帐户。像这样:http://goo.gl/DVggO6

      然后您需要使用 Android 的帐户管理器从您的 GDK 中检索帐户。插入镜像帐户时,您可以在“用户数据”字段中添加任意数量的详细信息。

      GDK 代码如下:

      public static String fetchAccountMailId(Activity c) {
          String accountEmailId = null;
          AccountManager manager = AccountManager.get(c);
          Account[] list = manager
                  .getAccountsByType("account-name");
          for (Account acct : list) {
              accountEmailId = acct.name;
              break;
          }
          return accountEmailId;
      
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-10-03
        • 2022-10-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-06-18
        • 1970-01-01
        相关资源
        最近更新 更多