google-oauth - Dialogflow API 不记名令牌
问题描述
如何获取 Dialogflow v2 api 调用的承载开发令牌?我想从我在 Mac osx 上的命令行界面运行这个命令。下面是一个示例请求:
curl -X GET " https://dialogflow.googleapis.com/v2/projects/ /agent/intents/?intentView=INTENT_VIEW_FULL" -H "授权:不记名"
解决方案
有一个请求示例。
curl -X POST -H "授权:承载 "$(gcloud auth application-default print-access-token) \ -H "Content-Type: application/json; charset=utf-8" \ " https://dialogflow. googleapis.com/v2/projects/ {your-project-id}/agent/sessions/{session-id}>:detectIntent:detectIntent" \ --data "{'queryInput':{'event':{'name' :'MY_CUSTOM_EVENT','parameters':{'parameter-name-1':'parameter-value-1','parameter-name-2':'parameter-value-2',},'languageCode':'en -我们'}}}”
如需更多请求,请参阅API 参考
根据Setting up authentication,如果你想使用 v2 API 调用,你必须
- 创建服务帐户密钥。
- 下载 JSON 密钥文件。
- 安装并初始化 Cloud SDK。
- 将环境变量
GOOGLE_APPLICATION_CREDENTIALS
(其值是指向 JSON 密钥文件的路径)添加到您的 shell。 echo $(gcloud auth application-default print-access-token)
您可以通过在控制台中执行来测试 Cloud SDK 和变量是否设置正确。- 然后你应该能够提出请求。
发出请求后,您可以导航到 Dialogflow 控制台中的“历史记录”选项卡以检查请求是否已成功发送。
推荐阅读
- kubernetes - K8s Master重启后,apiserver报错“x509: certificate has expired or is not yet valid”
- angular - 有没有办法检测用户是否查看了组件?
- c++ - 为什么我的程序继续给我堆缓冲区溢出,即使我没有超出我的数组或覆盖任何值
- laravel - 使用 nginx 设置多站点
- contextmenu - 如何在上下文菜单中隐藏 div/模板元素
- javascript - 是的 punycode 和西里尔字母的域名验证
- html - 如何创建下拉列表以过滤特定列中的行
- javascript - 两个对象之间的差异
- angular - 服务的 SpyObject 上的 Angular 单元测试组件调用
- arrays - 在 JSON 输出中强制将单个结果作为数组