【发布时间】: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,不是吗?
标签: json api facebook error-handling messenger