当您调用 Facebook Send API 时,您通过access_token
范围。您可以通过修改此访问令牌来指定将消息定向到哪个页面。要了解哪个页面发起了该消息,您可以访问id
消息帖子的条目字段。
app.post('/webhook', (req, res) => {
const data = req.body
// Make sure this is a page subscription
if (data.object === 'page') {
// Iterate over each entry
data.entry.forEach((pageEntry) => {
// get the pageId
const pageId = pageEntry.id
...
然后,您需要维护一个对象,将页面 id 映射到与每个页面 id 关联的访问令牌:
const accessTokens = {
myPageId1: 'myPageAccessToken1',
myPageId2: 'myPageAccessToken2',
}
然后发送响应时,指定对应页面的access_token即可
const callSendAPI = (pageId, messageData) =>
rp({
uri: 'https://graph.facebook.com/v2.8/me/messages',
qs: { access_token: accessTokens[pageId] },
method: 'POST',
body: messageData,
json: true,
})