我正在考虑使用 Alexa Skills Kit 实施一个项目。
我不知道是否可以在我的手机中打开任何随机应用程序并从中获取信息,然后让 alexa 为我读取这些信息。
例如,是否可以对 alexa 进行编程以在我的手机中打开 UBER 并向我读取司机有多远,票价是多少等...?
2 回答
您无法从 Alexa 技能打开/启动移动应用程序。你能得到的最接近的是触发推送通知。
但是,您的示例用例是可行的,因为 Alexa 可以与其他 API 通信,并且此数据可通过 Uber API 获得。请参阅https://developer.uber.com/docs/v1-requests-current
用户需要执行以下步骤来启用该功能(步骤可以按任意顺序执行):
- 登录到您的网站/应用程序后,用户将其优步帐户与 OAuth 登录名相关联,从而允许您的网站访问优步 API。(访问令牌必须存储在您的网站而不是您的手机应用程序中)
- 通过使用 OAuth 登录您的网站,在 Alexa 应用程序/网站中启用您的技能并链接到您网站上的用户帐户。
不幸的是,在这种情况下几乎肯定需要两个 OAuth 步骤,一个将 Alexa 链接到您的网站,另一个将您的网站链接到 Uber,根据https://developer.amazon.com/public/solutions/alexa/alexa- Skills-kit/docs/linking-an-alexa-user-with-a-user-in-your-system,注意这一行:“您的服务将用户重定向到亚马逊特定的 URL 并传递状态,access_token,和 URL 片段中的 token_type。” (理论上,Uber 可以设置他们的 OAuth 流程以允许直接将您的技能链接到他们的帐户,但他们需要特别支持它。)
请注意,Uber 实际上已经在他们的 Uber Skill 中启用了这种类型的功能。见https://devblog.uber.com/alexa-your-uber-is-arriving-now/
您的技能需要与手机上的应用程序集成。例如,该技能可以更新电话应用程序定期轮询的服务器上的数据库。