Facebook Webhook Messenger 获取页面 ID
Posted
技术标签:
【中文标题】Facebook Webhook Messenger 获取页面 ID【英文标题】:Facebook Webhook Messenger get Page ID 【发布时间】:2021-12-19 02:19:09 【问题描述】:我正在使用 Facebook 的 messenger webhook 和监听 API,它们有时也可能会响应(机器人)。 确定 webhook 来自哪个页面 ID 很重要(因为某些页面会使用它)。据我了解,我尝试搜索参数、标题和正文。
我是否应该解密 X-Hub-Signature 以确定哪些数据可能会影响页面 ID?
这是标题:
"Host":"**xxxx-xxxx-xxxx-xx-x-xxxx-xxxx-xxxx-xxxx.ngrok.io**",
"User-Agent":"facebookexternalua",
"Content-Length":"308",
"Accept":"\/",
"Accept-Encoding":"deflate, gzip",
"Content-Type":"application\/json",
"Facebook-Api-Version":"v12.0",
"P-Mi-Om":"FgIA",
"X-Forwarded-For":"**xxxx:xxxx:xxxx:xx::face:b00c**",
"X-Forwarded-Proto":"https",
"X-Hub-Signature":"sha1=**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**"
回复:
"object":"page",
"entry":[
"id":"xxxxxxxxxxxxxxx",
"time":1636101951119,
"messaging":[
"sender":
"id":"xxxxxxxxxxxxxxx"
,
"recipient":
"id":"xxxxxxxxxxxxxxx"
,
"timestamp":1636101950853,
"message":
"mid":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"text":"hey"
]
]
【问题讨论】:
不,当然你不应该“解密”那个签名——因为从技术上来说这是不可能的,它是一个 hash 值。 "Here are the headers" - 数据在正文中... 添加了响应正文。这里没有页面 ID... 应该是发送者或接收者ID,不是吗? 【参考方案1】:它在响应中,作为 recipient
id
变量。
【讨论】:
以上是关于Facebook Webhook Messenger 获取页面 ID的主要内容,如果未能解决你的问题,请参考以下文章
Facebook API页面提要没有向我的webhook发送信息?
Rocket.Chat 传入 Webhook:以特定响应回答(用于 facebook 集成)
markdown 在Webhook上接收Facebook主页