Actions on google 使用gactions CLI更新actions.json而不使用

Actions on google 使用gactions CLI更新actions.json而不使用,actions-on-google,Actions On Google,我已经使用Actions SDK在Google上构建了一个Action。我希望能够在服务器上以编程方式更新actions.json。我不想使用Assistant CLI。是否有REST API或其他方式更新该文件?我能够嗅到Google和actions cli之间的通信 更新操作 这是您可以使用的curl请求。别忘了添加您的承载者(授权),在--数据二进制之后,您将包含您的操作.json。最后一件事是,用您的操作id更改末尾的端点URL(替换testskill) 但这并不能保证将来会奏效,因为谷

我已经使用Actions SDK在Google上构建了一个Action。我希望能够在服务器上以编程方式更新actions.json。我不想使用Assistant CLI。是否有REST API或其他方式更新该文件?

我能够嗅到Google和actions cli之间的通信

更新操作

这是您可以使用的
curl
请求。别忘了添加您的
承载者
(授权),在
--数据二进制
之后,您将包含您的
操作.json
。最后一件事是,用您的操作id更改末尾的端点URL(替换
testskill

但这并不能保证将来会奏效,因为谷歌可以在不通知任何人的情况下更改端点。因此,我建议坚持使用actions cli

无间隙获取令牌CLI

您需要访问此url:

授权后,您将获得令牌。这需要与另一个curl请求一起发送。您需要用您的令牌替换
placeYourUrlEncodedTokenher
,但它需要进行url编码

curl 
-H 'Host: accounts.google.com' 
-H 'content-type: application/x-www-form-urlencoded' 
-H 'authorization: Basic MjM3ODA3ODQxNDA2LW82dnUxdGprcThvcWp1YjhqaWxqNnZ1YzM5NmUyZDBjLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tOjZ1TlVQakZvd3pVRThTbGlWWlg2a2VZMA==' 
-H 'user-agent: Go-http-client/2.0' 
--data-binary "code=PlaceYourUrlEncodedTokenHere&grant_type=authorization_code&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob" 
--compressed 'https://accounts.google.com/o/oauth2/token'

在此之后,您将收到来自google的json响应,该响应将访问\u令牌。从昨天开始,当我尝试更新我的actions.json时,actions cli出现问题,您将以
承载者的身份添加到请求中

错误401:已禁用\u客户端 OAuth客户端已禁用


如果我从Assistant CLI获得访问令牌,那么我可以向生成有效访问令牌时遇到问题的用户发出post请求。Voiceflow似乎能够。它们通过oauth2登录Assistant CLI来指导用户。用户将获得他们提供给Voiceflow的身份验证代码。Voiceflow将其转换为服务器上的访问令牌。我想这和这里的“第五步”有关。当我尝试它时,我收到一条消息说我的客户端无效。我猜Voiceflow在他们的服务器上有一个gactions的托管副本,他们用它将请求包装在RESTAPI中。是的,我想应该是这样的。仍然依赖CLI来获取有效令牌,对吗?那太好了。“授权:基本MJM3ODQX…”值从何而来?一旦我将身份验证代码交换为访问/刷新令牌,我假设我需要客户机id+客户机机密+刷新令牌来获取新的访问令牌。客户端机密是我不知道的,因为它嵌入在gactions CLI中。不是吗?@reidreid46您可以创建自己的google控制台项目,从中获取您的机密。您还需要指定范围,即:
https://www.googleapis.com/auth/actions.builder
。你可以在@BjørsonÅlmer上玩它。如果你自己管理好了,我试图制作一个令牌来验证发布的API,它说当我调用itAlso时该方法不存在。所以当我让游乐场列出可用的操作时,没有显示任何操作。让我觉得API与客户机ID绑定,因此除了使用离线令牌生成方法,然后使用访问令牌之外,您不能直接使用API。令人失望的
curl 
-H 'Host: accounts.google.com' 
-H 'content-type: application/x-www-form-urlencoded' 
-H 'authorization: Basic MjM3ODA3ODQxNDA2LW82dnUxdGprcThvcWp1YjhqaWxqNnZ1YzM5NmUyZDBjLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tOjZ1TlVQakZvd3pVRThTbGlWWlg2a2VZMA==' 
-H 'user-agent: Go-http-client/2.0' 
--data-binary "code=PlaceYourUrlEncodedTokenHere&grant_type=authorization_code&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob" 
--compressed 'https://accounts.google.com/o/oauth2/token'