python-3.x - 如何将 Oauth 2.0 与 google dialogflow API 集成
问题描述
import dialogflow_v2
import os
import json
import requests
headers = {'content-type': 'application/json'}
os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = 'dummy-project-296210-e84160a72c28.json'
agent = json.dumps({"displayName":"Agent1","timeZone":"Asia/Kolkata"})
project_id = "dummy-project-296210"
url = "https://dialogflow.googleapis.com/v2/projects/{}/agent".format(project_id)
response = requests.post(url, data=agent, headers=headers)
print(response.json())
我正在使用 API 端点来获取我创建的代理的详细信息,但是,我如何使用 google Oauth 并启动我的对话流程来访问用户数据以进一步进行。出于测试目的,我添加了自己的 gmail 帐户。
解决方案
浏览发布的评论并查看OAuth 2.0身份验证概念文档,您可以找到与 Cloud Bigquery API 相关的最终用户实现的好示例,可以平滑地转换为也适用于 Dialogflow API。
使用 Python google-auth-oauthlib库,可能会要求您识别授权最终用户对特定Google Cloud API服务进行身份验证的OAuth范围。您可以查看可用 OAuth 2.0 范围的参考列表,特别是 Dialogflow API 移至本章。
基本上,代码示例中的InstalledAppFlow()类使用适当的用户访问令牌并检查授予的范围来执行 OAuth 2.0身份验证/授权 操作。
推荐阅读
- .net - 在 rdlc 中并排显示比较数据
- spring-boot - 使用spring security自定义授权运行一段时间后用户名和密码为空
- docker - 不使用带有 php7.0-fpm 的 docker 容器连接主机的数据库
- regex - 用于匹配特定单词并忽略新行的正则表达式
- r - 以闪亮的方式绘制条形图
- android - 如何在 xamarin webview 中禁用屏幕缩放(不是捏合或双击缩放)
- c++ - 如何在c ++中修复“/usr/bin/ld:警告:liblber-2.4.so.2,//usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4需要,未找到”
- c#-3.0 - Contract.Requires() 和循环不变量的问题
- swift - 将物理实体分配给自定义精灵节点类中的多个对象
- r - 如何稍微改变 R markdown 中的绘图位置