Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actions on google 未发送Google V2 idToken上的操作_Actions On Google - Fatal编程技术网

Actions on google 未发送Google V2 idToken上的操作

Actions on google 未发送Google V2 idToken上的操作,actions-on-google,Actions On Google,查看文档以获取对google上的操作的appRequest user对象表示,userId属性现在已被弃用,我们应该使用idToken 但是,在模拟器中测试V2操作时,我的响应只包括userId属性,而不包括idToken 我肯定使用的是API的V2,这并不是说链接帐户时它是可选字段(值得一提的是,我没有做任何帐户链接) 这个字段应该包括在内吗?那页并不是这么说的 是的,它说userId属性已被弃用-它没有显示任何替换。虽然您可以直接替换,但它已被弃用 它不会说用idToken替换它,尽管您可以

查看文档以获取对google上的操作的appRequest

user对象表示,
userId
属性现在已被弃用,我们应该使用
idToken

但是,在模拟器中测试V2操作时,我的响应只包括
userId
属性,而不包括
idToken

我肯定使用的是API的V2,这并不是说链接帐户时它是可选字段(值得一提的是,我没有做任何帐户链接)

这个字段应该包括在内吗?

那页并不是这么说的

是的,它说
userId
属性已被弃用-它没有显示任何替换。虽然您可以直接替换,但它已被弃用

它不会说用
idToken
替换它,尽管您可以从
idToken
中获得唯一的ID,但它不会直接这样做。它也不会为您提供
idToken
,除非您需要

要使用
idToken
获取用户标识符,您需要做几件事:

  • 打开谷歌登录助手
  • 请用户使用谷歌登录助手登录您的操作,或让他们通过其他方式(谷歌登录web或移动)登录同一项目
  • 当您获得
    idToken
    时,验证并提取JWT负载。如果您正在使用谷歌图书馆上的操作,它将为您执行此操作。如果不是,这是一个标准的JWT令牌,您应该验证它,负载包括ID

  • 谢谢,你说得对,我确实对用户ID被idToken替换做了一些假设——尽管我试图通过询问是否应该包含该字段来澄清这一点。我认为这种混淆源于这样一个事实,即它实际上并没有说明idToken是一个可选字段,而
    accessToken
    字段确实说它“只有在定义了帐户链接时才可用”。再次感谢