Facebook Messenger API:设置webhook时出现问题
我正在尝试为我的PHP Web服务器上的新Facebook Messenger Bot平台设置Web挂钩,并收到此错误: 无法验证URL.响应不符合挑战, 预期值='364011207',收到=' 资源 /a> 平台/Webhook-Reference#common_format 任何帮助都非常感谢. 解决方案 我遇到了一个修复程序.我取消了JS的尝试,并使用以下代码创建了一个新的PHP文件: 其他解决方案 该代码为 node.js 代码,应在服务器上不在html中的标签中运
0 2023-05-28
编程技术问答社区
Facebook Messenger在UIActivityViewController中没有显示出来
我在应用程序中使用uiactivityviewController,为用户提供共享文本的选项. 诸如Facebook,Twitter,WhatsApp之类的应用程序曾经安装了它们,它们会自动显示为带有uiactivityViewController的选项,而不是Facebook Messenger. 我需要与Messenger进行任何特殊设置?我正在使用目标c. 解决方案 根据:无法共享文本到FB使用uiactivityViewController 的使者 为了使Facebook Messenger出现,您需要将NSURL插入UIACTIVITITYVIEWCONTROLLER ATCTIVETEMS NSURL *url = [NSURL URLWithString:@"http://www.google.com"]; NSArray *activityItems = @[url]; UIActivityViewController *activityVC =
2 2023-05-06
编程技术问答社区
使用Node.js让Facebook Messenger在BotFramework v4中显示QnA后续提示信息
我正在尝试使用Botframework V4和Node.js. 我已经设法获得了Webchat中显示的后续提示:在此线程中遵循马特·斯内特(Matt Stannett)的出色建议之后,我对此进行了管理: 如何在QNA问题中实现卡片,该问题已随访提示并在卡片中使用它们 但是,当涉及到他们出现在Facebook Messenger中时,我真的很挣扎. 我希望它会像在我的OnMessage代码中为Facebook快速答复定义一些Channeldata一样简单,因为我只需要Facebook来传递简单的文本有效载荷.我以为我可以以类似的方式完成显示网络聊天的提示,下面的代码: this.onMessage(async (context, next) => { this.logger.log('Processing a Message Activity'); const qnaResults = await this.qnaMaker.getAn
2 2023-04-27
编程技术问答社区
如何在Facebook Messenger机器人中显示一个表情符号?
我正在尝试在nodejs制造的Facebook Messenger bot中显示表情符号1f382" rel =" nofollow noreferrer"> http://apps.timwhitlock.info/unicode/inspect/hex/hex/1f382 我可以通过API发送的字符串. 非常感谢您的任何帮助. 解决方案 不支持某些表情符号.如果您尝试此 ,您将获得雪花 decodeURI('\u2744') ,而 decodeURI('\uF382') 不起作用. 谢谢 sriram
0 2023-04-27
编程技术问答社区
res.send(200) facebook信使机器人的问题
我正在尝试使用nodejs构建Facebook Messenger机器人.我得到了具有核心功能的机器人.在测试时 用户发送给GIF或贴纸的负面情况,它必须回答"我无法得到您.对不起".它确实发送了 该消息但此后每隔几分钟就会悬挂并继续发送该消息.我注意到Ngrok服务器投掷了500 HTTP 邮政请求的内部服务器错误.在进一步的调试中,我能够发现Res.Send(200)无法正确执行. 我在res.send(200)之后拥有的Console.log STMT从未打印过.不知道我可能会缺少什么.任何帮助都将受到赞赏.尝试通过新的Ngork HTTPS链接重新启动服务器并将其重新订阅到该应用程序中.相同的消息继续被打印出来:(. 这是我的代码. server.post('/', (req, res, next) => { // Extract the body of the POST request let data = r
4 2023-04-27
编程技术问答社区
域名没有被添加,白名单域名的Facebook信使扩展
我一直在尝试按照Facebook给出的指示来将我的域名白色. 我第一次尝试使用卷曲,响应是{result:"success"},但是当我尝试列出白色的域时,我正在得到{data:[]} 然后我尝试使用节点请求模块如下: request.post("https://graph.facebook.com/v2.6/me/messenger_profile?access_token=sfdlksdfu79r9429049824982342348sjdfsf", { "setting_type": "domain_whitelisting", "whitelisted_domains": ["https://mydomainw.com", "https://mydomainw.com/profile", "https://sfujyx.com/ofr", "mydomain1.com", "mydomain.com
0 2023-04-26
编程技术问答社区
信使机器人未能做出回应
我的机器人已获得批准,并已公开使用(请参见图片)我将其托管在Heroku上.我试图用大量的控制台日志进行调试,并且我已经意识到它不会记录" inter app.post" (请参见下文),而开发人员除了发送其他任何一个时,一个消息. 其他人是否经历过这种行为? /// Facebook verification app.get('/webhook/', function (req, res) { if (req.query['hub.verify_token'] === '***************') { res.send(req.query['hub.challenge']) } res.send('Error, wrong token') }) /// Star up the server app.listen(app.get('port'), function() { console.log('running on
2 2023-04-26
编程技术问答社区
机器人框架openUrl对信使的建议动作不起作用
我正在使用Bot Builder Node.js SDK创建Facebook Bot,并且我正在尝试创建建议的操作,这将导航用户到网页.我知道,Facebook有限制,它仅将其重定向到HTTPS端点,但是由于我正在重定向的页面是HTTPS,这显然不是问题.这是我的代码: var msg = new builder.Message(session) .text("User message here") .suggestedActions( builder.SuggestedActions.create( session, [ builder.CardAction.imBack(session, "command1", "Command1"), builder.CardAction.imBack(session, "command2", "Command2"),
0 2023-04-25
编程技术问答社区
Facebook Messenger API "URL COULD NOT BE VALIDATED"
我正在尝试设置Facebook Messenger API,当我尝试添加Webhook时,我会遇到此错误: 无法验证URL.回调验证失败了以下错误:curl_errno = 60; curl_error = SSL证书问题:无法获得本地发行人证书; HTTP状态代码= 200; HTTP消息=建立连接 我已经使用教程中提供的代码设置了nodejs服务器.这是网址: https://stackoverload.me/chatter/chatter/webhook/webhook 编辑这是分辨率(有人想查看代码): var express = require('express'); var fs = require('fs'); var https = require('https'); var app = express(); app.use(express.static('public')); // SSL https.createServ
2 2023-04-25
编程技术问答社区
在一个WebHook中的无限循环
我正在做一个Facebook Messenger机器人.启动它后,它打电话给Webhook. 不幸的是,在第一次开始之后,不会停止使用相同参数进行相同的呼叫. 设置为: message_deliveries; Message_reads; 消息; Messaging_optins; Messaging_postbacks. 源代码是:/blob/master/index.php 我在哪里错了? 为什么只打电话? 解决方案 通过您的代码,我决定无法设置Webhook,因此从文档 在您的Webhook URL上,添加代码以进行验证.您的代码应该 期望您先前定义的验证令牌,并以 挑战在验证请求中退回.单击"验证并 保存"新页面订阅中的"按钮",以打电话给您的网络钩 获取请求. 因此,要使PHP通过Webhook设置取得成功,您必须返回 hub_challenge 参数. 用令牌定义$ verify_token,并添加类似的内容: if
8 2023-04-20
编程技术问答社区
信使网络视图在手机上工作,在桌面上不工作
我正在制作Messenger WebView示例,但它仅在移动台式时工作,它将我重定向到新标签, 这是按钮有效载荷, var buttons = [{ type: "web_url", url: constant.SERVER_URL + "/checkout", title: "Yes", webview_height_ratio: "tall", messenger_extensions: false }] 这是请求方法, app.get("/checkout", function (req, res) { let referer = req.get('Referer'); console.log(referer) if (referer) { if (referer.indexOf('messenger') >= 0) {
18 2023-04-20
编程技术问答社区
在Facebook Messenger中无需用户互动即可开始对话
是否可以在没有用户首先与机器人交互的情况下向用户发送消息? 我正在使用以下指南从已经将其配置文件连接到我拥有的应用程序的用户中检索 psids . 帐户. 对于与我也拥有的页面至少有一次互动的用户,我可以获取他们的ID.对于所有其他用户,端点返回一个空数组. 我知道客户匹配,但这是实现这一目标的唯一方法吗? 解决方案 您不能在用户初始化对话之前通过bot发送消息. Facebook Messanger机器人允许使用标准消息,间隔为24小时 回复用户发起的消息.在某些特定情况下,Facebook允许此后发送消息. 用户要么将消息发送给公司或单击" Messenger"操作或通过插件从公司请求消息(例如发送到Messenger)时,消息是触发的. 在此处查看政策:其他解决方案 您是正确的,客户匹配是您唯一的选择. 今天刚刚学会了这一点,如果您有用户的电话号码,则可以无提案给他们发消息.您还需要pages_messaging_phone_number许
数据访问过期 "对来自webhook的响应有何影响?
我和我们的团队正在实施小型后端提供Facebook聊天机器人功能,该功能必须能够处理附加的多个粉丝页面. 当Facebook回调到达Webhook时,我们可以轻松地识别它所属的粉丝页面,并从DB有效页面访问令牌中进行选择,我们在粉丝页面集成过程和我们的前端应用程序的集成过程中收到的是(集成为流程,该过程是哪些用户登录到的过程我们的申请为我们的粉丝页面提供了权限). 我们决定扩展页面访问令牌,它永远不会到期,这解决了重复整个过程的问题,即通过用户授予我们粉丝的权限(前面提到的集成). 我们想知道"数据访问到期".据我们所知,这个术语总是90天,并且不能扩展.它对向Messenger用户发送响应的影响如何?我们能够正确响应此术语后发送到Webhook的消息吗? 解决方案 facebook.com/docs/facebook-login/auth-vs-data#data-access : 以下权限未到期: ads_read business_manage
现在是否无法从我的应用程序中打开Facebook Messenger的朋友聊天头像?
我正在使用AccessToken.getCurrentAccessToken.getUserId()检索用户的Facebook ID,并将其保存在FirebaseDatabase中. 然后,我正在使用数据检索并填充几个CardView.每张卡都有一个ID,卡上有一个按钮,按下应打开与该ID相关的Facebook Messenger Chathead. 我尝试使用此代码打开Chathead: Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("fb-messenger://user/"+fbID)); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); mContext.startActivity(intent); 尽管它正在打开Chathead,但没有打开与该卡相关联的用户.它为某些匿名Facebook User. 打开了chathead 我搜索了互联网,
发送到信使不显示
我正在尝试将Facebook的" send to messenger"添加到我的网页. 在FB的文档 当没有活动会话时,没有身份浮出水面.当...的时候 单击按钮,我们将提供一个登录对话框. ,但我意识到,如果没有将用户登录到Facebook,则完全不会呈现按钮. 这是预期的行为吗? ps-请注意,我的FB应用不在DEV模式下,我使用的是该应用程序的Admin角色的FB帐户. 解决方案 如果您尚未对应用程序进行审查,则仅针对某些角色的个人出现登录对话框和按钮 - 管理员,开发人员,测试人员和洞察用户. 也可能需要一些时间才能加载. 其他解决方案 是的,这是预期的行为. 如fb 当您的应用程序处于开发模式时,或者您的应用程序是公开的 没有批准Messenger平台,插件仅是 该应用程序的管理人员,开发人员和测试人员可见. 因此, 当没有活动会话时,插件将不可见 无法识别用户. 其他解决方案 我是一个从未提交审查的应用程序的管
18 2023-04-20
编程技术问答社区
Facebook信使机器人的编码错误
我已经使用Facebook Messenger API和WIT.AI动作编写了示例回声消息机器人. 我从Facebook页面中收到了我的消息,并且还调用了使用WIT API定义的正确操作函数.然而 在返回响应时,我会遵循错误的错误 - 哎呀!将响应转发到以下方面发生错误:(#100)参数消息[text]必须是UTF-8编码字符串 在fetch.then.then.json(/app/index.js:106:13) 在process._tickcallback(内部/process/next_tick.js:103:7) 这是用于返回响应的函数 - const fbMessage = (id, text) => { const body = JSON.stringify({ recipient: { id }, message: { text }, }); const qs = 'access_token=' + encodeURI
20 2023-04-19
编程技术问答社区
如何在Dialogflow v2中反序列化自定义有效载荷响应?
我正在使用DialogFlow V2和Node.js客户端SDK开发自己的Messenger聊天机器人.但是我对自定义有效载荷有问题.当我使用DialogFlow提供的控制台时,我会有一个响应,看起来像这样: { "payload": { "facebook": { "attachment": { "payload": { ... 但是,当我从JS服务器获得响应时,自定义有效负载已被序列化.这是我收到的对象: { facebook: { structValue: { fields: [Object] }, kind: 'structValue' } } 是否可以对此对象进行估算,以获取我在DialogFlow中提供的相同的自定义有效负载结构? 预先感谢您. 解决方案 这是使用为了转换,您需要使用Google Proto Buffer,即Google.protobuf 我使用以下代码来执行此操作. import google.protobuf as
12 2023-04-14
编程技术问答社区
一个机器人如何从Facebook Messenger(MP4)接收语音文件,并将其转换为Bing或Google等语音引擎所能识别的格式?
我正在尝试使用Microsoft的Bot框架为Facebook Messenger制作一个机器人: 获取通过Facebook Messenger发送的用户语音消息 将语音转换为文本 用它做某事 从Messenger中获取语音消息没有问题(可以从机器人接收到的消息中提取URL),并且将音频文件转换为语音也没有问题(使用Bing Speech API或Google类似的API). 但是,这些API需要PCM(WAV)文件,而Facebook Messenger为您提供了MP4文件. 是否有一种流行/标准的方式将一种格式转换为编写机器人的格式? 到目前为止,我最好的想法是运行vlc.exe作为我的服务器上的控制台作业并转换文件,但这听起来不像是最好的解决方案. 解决方案 开发了一种解决方案,该解决方案如下: 从Facebook接收语音消息 使用Activity.Attachments> 内部的链接下载MP4文件到本地磁盘 使用Mediatoo
6 2023-03-31
编程技术问答社区
Facebook信使和dialogflow::从多个通用模板中单独检测每个事件的按钮
我正在使用chatbot和dialogflow是我的NLP平台.目前,我正在使用通用模板在Messenger上显示我的产品. 现在,当客户单击buy now来自多个模板按钮的按钮时,我想检测到哪个模板 button 已单击(检测单个事件),并希望为不同产品设置不同的消息来自对话流. 做这项工作的一种方法是使用context,但我想知道是否可以在不使用context的情况下实现相同的结果? 任何建议将不胜感激.谢谢! 解决方案 您可以在 单击按钮时,将特定消息发送回对话流. 如果将其与参数结合在一起,则可以使用它们来触发特定意图,或者仅发送单击产品的信息.例如: 想象以下短语的意图: 在这种情况下:"烤面包机"和"微波"是一个称为对象的实体的一部分 在对Messenger的响应中,您可以包括对此参数的引用,例如: { "facebook": { "attachment": { "type": "template
10 2023-03-10
编程技术问答社区
Facebook Messenger机器人可以和一个小组中的两个或更多人聊天吗?
所有Messenger机器人是否一次直接与一个用户进行交互?一个机器人可以加入两个或两个以上的人并与他们交谈吗? 解决方案 当前Facebook Messenger机器人仅一对一地工作. 原因之一可能是隐私. Facebook在集体上下文中推出机器人之前非常谨慎. 其他解决方案 当前Facebook不允许在组中添加机器人,但是您可以在电报中添加bot.
14 2023-03-10
编程技术问答社区