当前位置: 首页 > 面试题库 >

如何在Python中通过Dialogflow实现从Google Assistant发送推送通知

邵轶
2023-03-14
问题内容

我正在google
Dialogflow中开发chatbot以获得google的帮助,我已经按照此文档显示了推送通知。我已经请求了许可,但是现在我陷入了Exchange the key for an access token and send a notification该文档的最后一步()。

谁能帮我做到这一点。我应该从Python履行代码发送哪个JSON响应?


问题答案:

最后解决了问题。@matthewayne发布的代码有一些错误,例如,请求必须是“
POST”方法,并且需要更改有效负载和标头中的某些参数,因此它起作用了!在这里,我更改了一些代码并尝试请求和它打了一个通知!

我参考了此文档以使其起作用!

import io
import json

import requests
from google.oauth2 import service_account
import google.auth.transport.requests

PATH_TO_SERVICE_ACCOUNT = 'path/to/json/service/account'

REQUIRED_SCOPE = 'https://www.googleapis.com/auth/actions.fulfillment.conversation'

# Get access token
with io.open(PATH_TO_SERVICE_ACCOUNT, 'r', encoding='utf-8') as json_fi:
    credentials_info = json.load(json_fi)
credentials = service_account.Credentials.from_service_account_info(
    credentials_info, scopes=[REQUIRED_SCOPE])
request = google.auth.transport.requests.Request()
credentials.refresh(request)

headers = {
    'Authorization': 'Bearer ' + credentials.token
}

payload = {
    'customPushMessage': {
        'userNotification': {
            'title': 'Notification title',
            'text': 'Simple Text'
        },
        'target': {
            'userId': '<USER_ID>',
            'intent': '<INTENT>',
            # Expects a IETF BCP-47 language code (i.e. en-US)
            'locale': 'en-US'
        }
    }
}

r = requests.request("POST", 'https://actions.googleapis.com/v2/conversations:send', data=json.dumps(payload), headers=headers)

print(str(r.status_code) + ': ' + r.text)


 类似资料:
  • 问题内容: 我想使用XMPP,以便我的应用程序将更新发送到Android手机(1.5及更高版本)。我非常想使用XMPP将推送通知发送到电话。 我将如何实现这一目标。目前,我的Web应用程序正在使用许多servlet在apache tomact上运行,因此android手机可以访问信息,但是我发现很难理解如何实现XMPP,以便可以将信息从服务器推送到客户端( android手机)。 我已经通过Goo

  • 如何通过Azure从我的UWP-App向不同设备上的应用程序的其他实例发送推送通知? 以下是注册设备以接收推送的说明。(这是可行的)第二部分是关于如何在控制台应用程序上发送推送(这也是可行的)https://azure.microsoft.com/en-us/documentation/articles/notification-hubs-windows-store-dotnet-get-star

  • 我正在写一个iOS的应用程序,使用laravel的API和谷歌Firebase的推送通知。当我使用Firebase云消息传递发送消息推送时,它会进入我的设备。当我使用laravel发送推送通知时,它不会影响。这里是我的脚本发送推送通知laravel: 它返回一个成功的结果,但通知未发送到iOS设备。 PS:它可以在Android设备上成功运行。

  • 问题内容: 我已经在项目中实现了推送通知,到目前为止一切正常。我尝试过通过Pusher发送通知,但效果很好。但是我必须通过PHP发送它们,但尚无法使用。我发现了许多有关如何实现此目标的旧解释,但似乎没有一个对我有用。 这就是我要使用的方法: 问题答案: 尝试使用此php脚本,确保.pem证书在运行时以与该php脚本相同的路径退出,并获得正确的设备令牌

  • 我试图使用Dialogflow和twilio构建whatsapp聊天机器人。我注意到只有短信从twilio成功发送。 当我试图发送Dialogflow card时,twilio抛出一个错误。我从Dialogfunction内联编辑器中使用云函数发送卡片如下 虽然这在Dialogflow中工作得很好,但在WhatsApp上无法接收。只有短信在起作用。 是因为我目前在twilio沙箱还是他们不支持带有

  • 问题内容: 这是我的使用PARSE发送推送消息的应用程序代码 上面的代码在哪里传递我的请求参数(正文)?如何将我的请求构建为JSON格式?在此先感谢您。请帮助我解决此问题。 问题答案: 使用.net中的parse运行波纹管代码以进行推送通知。