首页 > 解决方案 > 如何将 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 帐户。

标签: python-3.xdialogflow-es

解决方案


浏览发布的评论并查看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身份验证/授权 操作。


推荐阅读