actions-on-google - “如何在谷歌助手操作中通过用户 ID 获取用户名?”
问题描述
我已将我的聊天机器人连接到谷歌助手操作。他们只给出用户ID,如何使用这个用户ID获取用户名?
解决方案
{`"actions": [
{
"description": "Default Welcome Intent",
"name": "MAIN",
"fulfillment": {
"conversationName": "welcome"
},
"intent": {
"name": "actions.intent.MAIN",
"trigger": {
"queryPatterns":["talk to Mr Bot"]
}
}
},
{
"description": "Rasa Intent",
"name": "TEXT",
"fulfillment": {
"conversationName": "rasa_intent"
},
"intent": {
"name": "actions.intent.TEXT",
"trigger": {
"queryPatterns":[]
}
}
}],
"conversations": {
"welcome": {
"name": "welcome",
"url": "https://ac752bb0.ngrok.io/webhooks/google_home/webhook",
"fulfillmentApiVersion": 2
},
"rasa_intent": {
"name": "rasa_intent",
"url": "https://ac752bb0.ngrok.io/webhooks/google_home/webhook",
"fulfillmentApiVersion": 2
}
} }
这是我的 action.json,
类谷歌连接器(输入通道):
@classmethod
def name(cls):
return "google_home"
#def __init__(self):
# self.out_channel = CustomOutput(url, access_token)
def blueprint(self, on_new_message):
google_webhook = Blueprint('google_webhook', __name__)
@google_webhook.route("/", methods=['GET'])
def health():
return jsonify({"status": "ok"})
@google_webhook.route("/webhook", methods=['POST'])
def receive():
payload = json.loads(request.data)
sender_id = payload['user']['userId']
intent = payload['inputs'][0]['intent']
text = payload['inputs'][0]['rawInputs'][0]['query']
if intent == 'actions.intent.MAIN':
message = "<speak>Hello! <break time=\"1\"/> Welcome to the Rasa-powered Google Assistant skill. You can start by saying hi."
else:
out = CollectingOutputChannel()
on_new_message(UserMessage(text, out, sender_id))
responses = [m["text"] for m in out.messages]
message = responses[0]
r = json.dumps(
{
"conversationToken": "{\"state\":null,\"data\":{}}",
"expectUserResponse": 'true',
"expectedInputs": [
{
"inputPrompt": {
"initialPrompts": [
{
"ssml": message
}
]
},
"possibleIntents": [
{
"intent": "actions.intent.TEXT"
}
]
}
]
})
return r
return google_webhook
这是我的谷歌连接器 python 代码,如何修改这个以进行帐户登录
推荐阅读
- java - 未找到 Spring Boot Mobile 依赖项
- typescript - 对于一个类型 T(作为一组属性),如何创建一个类型 V 减去 U,它是 T 的一个子集?
- kubernetes - 跨命名空间的 Kubernetes Cronjob
- javascript - 我在 Vue.js 中使用 fontAwsome,我试图将图标放在 View Case Study 旁边,但它不起作用。我怎么做?
- discord - Discord 在频道中搜索特定字符串并重新发布整个消息
- c# - C#/Visual Studio 2017:更新/重组 GUI 后对函数的引用丢失
- c# - 为什么 HttpRequestMessage.Content.Headers.ContentType 会抛出空引用异常?
- android - 在项目中,它没有在单独的模块中看到库导入
- angular - Angular 8:TypeError:无法读取未定义的属性“种类”,当为生产构建我的代码时
- python - 使用正则表达式删除单词