【问题标题】:Account Linking redirect in Actions on Google simulatorGoogle 模拟器上的 Actions 中的帐户关联重定向
【发布时间】:2019-02-20 01:06:37
【问题描述】:

我正在使用the new Action on Google Java API 构建一个应用程序。据我了解处理 Alexa 中的帐户链接,初始流程(当 JSON 请求中的 userIdnull 时)应重定向到登录表单以征求用户同意:

    @ForIntent("RawText")
    public ActionResponse launchRequestHandler(ActionRequest request) {

       String userId = request.getAppRequest().getUser().getUserId();
       String queryText = request.getWebhookRequest().getQueryResult().getQueryText();

       String speech = null;

            ResponseBuilder responseBuilder = getResponseBuilder(request);

            if (isBlank(userId) || GREETING.equalsIgnoreCase(queryText)) {

                speech = "I've sent a link to your Google Assistant app that will get you started and set up in just several simple steps.";

                responseBuilder.add(
                    new SignIn()
                        .setContext(speech));
                //...
                return responseBuilder.build();

但是,在 AoG 模拟器中进行测试时,我没有看到任何重定向正在执行。我看到以下错误:

我的帐户关联设置:

授权 URL 重定向到本地模拟身份验证服务,该服务应该显示登录表单。它是可访问的(通过localhost 和通过ssh 隧道,在这种情况下由serveo.net 反向代理提供)。为什么 Google 不将我重定向到那里?

有人可以指导我如何在帐户链接流程中进行此初始握手,我在哪里可以看到从网络挂钩发送的登录意图应该触发的表单?

我宁愿不使用我的手机,因为错误消息似乎表明,因为我在 AoG 模拟器中测试的帐户与我在手机上的用户 ID 不同。

使用Simulator as a Speaker 是什么意思?我的设置中缺少什么?

有没有其他类似Alexa's simulator的谷歌应用可以更好的模拟物理设备?

【问题讨论】:

    标签: oauth-2.0 actions-on-google alexa-skills-kit account-linking


    【解决方案1】:

    通常,您可以模拟帐户链接,通过选择“调试”选项卡,您会找到一个 url,将其复制粘贴到另一个选项卡上,您就可以链接您的帐户。 链接完成后,转到模拟器并输入“取消”或“停止”,然后输入“与语音库对话”。

    !不要按重置或更改版本,否则您必须重新链接您的应用

    但是,最近谷歌已经从调试选项卡中删除了这个 url,我在任何地方都找不到它......

    Simulator as a Speaker,Surface Dropdown设置为Phone,需要select Speaker

    但是当你尝试那个时,你会收到这个错误...

    Invocation Error
    You cannot use standard Google Assistant features in the Simulator. If you want to try them, use Google Assistant on your phone or other compatible devices. 
    

    所以目前,您无法使用模拟器测试需要帐户关联的操作。您可以使用智能手机进行操作...

    2019 年 3 月 5 日更新:

    Google 已在模拟器中添加帐户链接,现在更易于测试。

    【讨论】:

    • 是的,我尝试了Simulator as a Speaker 方法并得到了同样的错误。如何在手机上使用它?当我在助手应用程序中说talk to speechbank 时,它会给出一些不相关的结果。我是否需要以某种方式发布该操作,还是缺少其他内容?
    • 您有 2 个选择:1) 您不发布 Action,但您需要在手机上使用相同的帐户。您可以在助手应用的帐户设置中切换帐户。 2) 您发布了您的 Action 的 Alpha 版本,并将您的电子邮件(您在手机上使用的)放入 Alpha 测试人员列表中。再等一天,你就可以在你的设备上测试它了……在你的 alpga 测试器页面,你需要复制选择加入的链接,然后在你的支持助手的手机中打开它。 Alpha 部署也需要一天时间才能在您的手机上进行部署和测试(即使他们说 3-4 小时)。
    • 感谢您的建议等。我们能够找到一个似乎可行的设置,但是我们现在面临着这里描述的另一个挑战:stackoverflow.com/questions/54810597/…。也许,您也可以给我们一些建议,帮助我们解决这个问题。
    • 我遇到了完全相同的问题......但无法解决。我已经尝试过选项 1。不知道该怎么做,因为我还不想发布(因为它只是一个测试)。
    • 在您的手机上,使用您用于创建操作的 gmail 帐户。然后在您的手机上打开您的助手应用并在探索部分中搜索您的操作。(support.google.com/googlehome/answer/…) 即使您尚未发布它,它也只能在您的帐户中使用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-06
    相关资源
    最近更新 更多