Dialogflow es 通过python中的Dialogflow为google actions应用程序发送推送通知

Dialogflow es 通过python中的Dialogflow为google actions应用程序发送推送通知,dialogflow-es,actions-on-google,Dialogflow Es,Actions On Google,我试图创建一个应用程序,通过dialogflow fullfuillment向用户发送推送通知。我遵循了链接,现在我获得了更新权限(请参见问题底部的屏幕截图1和2)。我按照stackoverflow编写了这段python代码来发送通知,我能够运行它,状态代码为200,但我从未在我的GoogleHomeApp/GoogleSpeaker上收到测试通知。你能帮忙吗 导入io 导入json 导入请求 从google.oauth2导入服务_帐户 导入google.auth.transport.reque

我试图创建一个应用程序,通过dialogflow fullfuillment向用户发送推送通知。我遵循了链接,现在我获得了更新权限(请参见问题底部的屏幕截图1和2)。我按照stackoverflow编写了这段python代码来发送通知,我能够运行它,状态代码为200,但我从未在我的GoogleHomeApp/GoogleSpeaker上收到测试通知。你能帮忙吗

导入io
导入json
导入请求
从google.oauth2导入服务_帐户
导入google.auth.transport.requests
路径到服务帐户='ACCOUNT.json'
所需的\u范围=https://www.googleapis.com/auth/actions.fulfillment.conversation'
#获取访问令牌
使用io.open(路径到服务帐户'r',编码为='utf-8')作为json\u-fi:
credentials\u info=json.load(json\u fi)
凭据=服务\帐户。凭据。来自\服务\帐户\信息(
凭据\u信息,作用域=[必需的\u作用域])
request=google.auth.transport.requests.request()
凭据。刷新(请求)
标题={
“授权”:“持有人”+凭证。令牌
}
text='您好,这是一个测试通知'
user_id=“ABwppHFyNFT1fqDRmEug_K2ZKU43HM7XBLMGSN_ESww0iwPLQh-BU6n4T-e3rUOiVqRBWNn5q6bOg”
有效载荷={
“customPushMessage”:{
“用户通知”:{
"标题":"近期新闻",,
“文本”:文本,
},
“目标”:{
“用户id”:用户id,
“意图”:“最新消息”,
#需要IETF BCP-47语言代码(即en US)
“locale”:“en-US”
}
}
}
r=请求。请求(“POST”https://actions.googleapis.com/v2/conversations:send,data=json.dumps(有效负载),headers=headers)
打印(f“已向状态代码为{r.status\u code}的用户{user\u id}发送推送通知。”)
这是模拟器的屏幕截图:

这是我在本地主机上获得的日志,表明我获得了向用户发送推送通知的权限。

我去stackdriver日志查看日志,这是我得到的:

如果您转到,您会发现一条注释,其中指出截至目前,推送通知在上不受支持


很快他们可能会发布更新,但我们永远不知道!您可以询问支持团队有关更新的信息。

通知不会显示在Google Home上,但应该显示在手机上。你能验证用户ID是否正确并且没有更改吗?嗨@NickFelker,我可以确认ID是否正确(复制粘贴),奇怪的是每次我试图请求更新权限时ID都会更改。看起来你的用户没有稳定的标识符。