Actions on google Google Actions SDK登录隐式流

Actions on google Google Actions SDK登录隐式流,actions-on-google,google-assistant-sdk,Actions On Google,Google Assistant Sdk,编辑:手机助手的工作现在的问题只是存在于谷歌行动模拟器 我只是尝试用隐式授权设置GoogleActionsSDK帐户链接,并尝试在模拟器中进行测试 第一个问题是,这在模拟器中是可能的吗 为此,我在操作控制台添加了与类型链接的帐户 默许我的行动 我使用的url正在工作 现在我在我的操作中添加了一个注册请求。为了进行测试,如果我在模拟器中使用以下内容编写注册服务器响应: { conversationToken:JSON.stringify(state), expectUserResponse:对,

编辑:手机助手的工作现在的问题只是存在于谷歌行动模拟器

我只是尝试用隐式授权设置GoogleActionsSDK帐户链接,并尝试在模拟器中进行测试

第一个问题是,这在模拟器中是可能的吗

  • 为此,我在操作控制台添加了与类型链接的帐户 默许我的行动
  • 我使用的url正在工作
  • 现在我在我的操作中添加了一个注册请求。为了进行测试,如果我在模拟器中使用以下内容编写注册服务器响应:
  • {
    conversationToken:JSON.stringify(state),
    expectUserResponse:对,
    预期投入:[
    {
    输入提示:{
    初始提示:[
    {
    textToSpeech:“占位符\u用于登录”
    }
    ],
    noInputPrompts:[]
    },
    可能的内容:[
    {
    “意图”:“actions.intent.SIGN_IN”,
    “inputValueData”:{}
    }
    ],
    语音提示:[]
    }
    ]
    }

  • 在此之后,服务器没有请求登录页面路由(地址正确!)。它只是响应SignIN intent错误:
  • {
    “isInSandbox”:错误,
    “表面”:{
    “能力”:[
    {
    “名称”:“操作.功能.音频输出”
    },
    {
    “名称”:“操作.功能.屏幕输出”
    }
    ]
    },
    “投入”:[
    {
    “原始输入”:[
    {
    “查询”:“我想是的”,
    “输入类型”:“语音”
    }
    ],
    “论点”:[
    {
    “姓名”:“登录”,
    “扩展”:{
    “@type”:“type.googleapis.com/google.actions.v2.SignInValue”,
    “状态”:“错误”
    }
    }
    ],
    “intent':“actions.intent.SIGN_IN”
    }
    ],
    “设备”:{
    “locale”:“en-US”
    },
    “对话”:{
    “会话ID”:“149460917128”,
    “类型”:“活动”,
    “conversationToken”:“[\”\u谷歌上的行动”]
    }
    }

    为什么?问题出在哪里?我能在什么地方看到错误消息吗

    以下是3到4之间在模拟器中发生的情况:


    使用手机应用程序时是否相同?对我来说,它会打开一个带有我的/auth端点的嵌入式浏览器,而模拟器不会这样做。

    我可以让它在很长时间后工作。 我们必须首先启用webhook,我们可以在对话框flow fulfillment docs中看到如何启用webhook 如果我们要使用GoogleAssistant,那么我们必须首先在集成中启用GoogleAssistant集成。 然后按照下面提到的步骤在google上的actions中链接帐户:-

  • 转到google云控制台->ApisandServices->凭证->OAuth 2.0客户端ID->Web客户端->注意客户端ID和客户端机密 ->下载JSON-从JSON中记下项目id、auth_uri、token_uri ->授权重定向URI->白名单我们的应用程序的URL->在此URL固定部分是,并将项目id附加到URL中 ->保存更改

  • 谷歌->账户链接设置上的操作 1.授权类型=授权代码 2.客户信息 1.填写客户端id、客户端密码、身份验证uri、令牌uri 2.输入auth uri作为和token_uri作为 3.保存并运行 4.在谷歌助手上运行时会显示错误,但不要担心 5.返回助手设置中的帐户链接部分,输入auth_uri作为 和token_uri作为 6.将示波器设置为和 我们可以走了。 7.保存更改

  • 在托管服务器日志中,我们可以看到访问令牌值,通过访问令牌,我们可以获得有关电子邮件地址的详细信息

  • 将访问令牌附加到此链接“”中,我们可以在生成的json页面中获得所需的详细信息
  • accessToken=req.get(“原始请求”).get(“数据”).get(“用户”).get(“accessToken”)

    r=requests.get(链接)
    打印(“电子邮件Id=”+r.json()[“电子邮件”])
    打印(“Name=“+r.json()[“Name”])

  • 另外,在第3步之后,您可以使用授权类型作为
    隐式
    ,而不是
    授权代码

    ,模拟器响应选项卡中显示了什么?无,无,我的意思是它直接向服务器发送我在4)中发布的错误消息。当我响应该错误时,它会显示我的响应,如果不是,则会显示我的响应ws nothing。因此,在第3步之后,它实际上什么也没有显示。你在模拟器的响应中看到第3步的任何组件吗?错误选项卡中有任何内容吗?你可以发布屏幕截图吗?没有,它完全是空的,我的意思是我可以发布屏幕截图,但它完全没有用处。它只是直接显示错误,模拟器日志似乎没有用处。对不起,我有个错误我(两次)听说你在使用AoG API。我试图确认调用了什么。那些选项卡保持空白是非常奇怪的。你用什么逻辑来确定“注册”“应该触发签名请求吗?您如何确认这是发送的?这在模拟器上工作吗?我必须更新这个问题,因为它在手机助手上运行了几个月,但当我尝试它时,模拟器仍然发送错误。在模拟器中,它会说帐户尚未链接,但链接帐户的按钮不会出现。它只会出现在一些设备上,比如手机或平板电脑