Mam kilka stron Facebook i chciałbym uruchomić sam bot na każdej stronie. Używam ramy bota i wszystko działa doskonale na jednej stronie teraz. Jak mogę skojarzyć z wielu stron?
W jaki sposób mogę korzystać z tego samego bota na wielu stronach facebook użyciu ramy bot
Każda strona potrzebuje własnego aplikacji Facebook. Po utworzeniu aplikacji można połączyć je z tego samego bota ale będą używać innej strony token w przypadku potwierdzania, że podpis w kodzie i prawdopodobnie chcesz użyć innego adresu URL dla każdego z nich.
Gdy nazywamy Facebook Wyślij API, mijamy token dostępu strona pośrednictwem access_tokenparametru. Można określić, która strona skierować swoją wiadomość poprzez modyfikację tej token dostępu. Aby dowiedzieć się, która strona rozpoczęła wiadomości, można uzyskać dostęp do idpola wpisu słupka wiadomości.
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
...
Będziesz wtedy trzeba utrzymać stronę mapowanie obiekt identyfikatory do tokenu dostępu związanego z każdym id strony:
const accessTokens = {
myPageId1: 'myPageAccessToken1',
myPageId2: 'myPageAccessToken2',
}
Następnie podczas wysyłania odpowiedzi, wystarczy określić odpowiednią stronę 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,
})
Sposób, w jaki bym sobie to wdrożyć ten sam Bot backend na innym serwerze. Przez to, nie będę miał z tego samego źródła backend ale różne webhook URL. To sprawia, że każdy Bot, choć podobnej funkcjonalności, można wydzielić i utrzymywane oddzielnie. To jest niezwykle ważnym aspektem projektowania przy tworzeniu bota, ponieważ może potencjalnie mieć wiele rozmów.
Aby odpowiedzieć na to pytanie, tak, to jest możliwe, po prostu przekazując stronę tokena walidacji i żeton na każde żądanie i zmienić go, gdy użytkownik rozmawiać z drugiej strony - ale nie polecam robić to w ten sposób.
Możesz zapisać tę samą aplikację na wielu stronach. Gdy aplikacja Facebook jest subskrybowany posłaniec związane z tej aplikacji będą związane ze stroną.
https://developers.facebook.com/docs/graph-api/reference/page/subscribed_apps/ Ten interfejs API służy do dodawania aplikacji Facebook na stronie
Przepraszam, jeśli moja odpowiedź jest późno
bardzo dobrze można obsłużyć cały ruch w stronę poprzez tylko jeden bot backend
- Tworzenie aplikacji FB wybierz produkt jako posłańca
- Dodaj webook config wskazujący na bota
- Zaznacz wszystkie strony, które chcesz skojarzyć jeden po drugim i utrzymanie dostępu do strony znak ręką.
- Idź i szukaj Identyfikator strony na swojej stronie fb i utrzymać ją pod ręką
- Albo w stałym lub dB utrzymać stronę token dostępu przeciwko strony ja
- Po otrzymaniu zwrotnej webhook uzyskać wpis strony oraz identyfikator == Page Id
- Opierając się na stronie musiałbym logiki biznesowej
- Zadzwoń wysłać za pomocą tokenu dostępu API strona, które zostały zapisane againtst id strona
Mam nadzieję że to pomoże













