2016-12-09 48 views
2

我想爲我正在開發的應用程序配置Facebook webhooks如何配置Facebook webhooks?

我做了什麼至今是:

  1. 創建FB應用
  2. 轉到應用程序設置,並創建一個新的網絡掛接:
    1. 添加一個有效的回調網址
    2. 選擇特定領域
  3. 成功保存設置

現在,當我查詢頁面訂閱我得到的迴應:

{ 
    "data": [ 
    { 
     "object": "page", 
     "callback_url": "CALLBACK_URL", 
     "fields": [ 
     "feed" 
     ], 
     "active": true 
    } 
    ] 
} 

這似乎是有效的。

接下來應該做什麼?如何開始從特定頁面的Feed中收聽?

+1

引用您鏈接到:_「頁面相關的RTU對象均需要您的應用程序在頁面上安裝[...]可以安裝應用程序使用/ {頁面ID的頁面。 }/subscribed_apps邊緣。「_ – CBroe

回答

10

這裏是Receiving API Updates in Real Time with Webhooks整個配置:

步驟1

  1. Create Facebook page
  2. 轉到https://www.facebook.com/pg/YOUR_PAGE_NAME/about/?tab=page_info和在最底部讀Facebook Page ID

步驟2

  1. Create a developer account and a Facebook app
  2. 複製您Facebook App ID在上述點說明。

步驟3

  1. 創建一個服務器應用程序,將處理您的回調URL。有幾個例子可以在GitHub上找到。
  2. Set up your Callback URL您在上一步中創建的Facebook應用程序中。

步驟4

訂閱你的Facebook應用程序到你的Facebook頁面。要做到這一點Graph API Explorer

  1. 獲取頁面訪問令牌 Alt text

確保你選擇特定的應用程序。

  1. 授予權限後,選擇您的特定頁面。該令牌將被放入Access Token字段中。
  2. POST request到特定網址:

    /YOUR_PAGE_ID/subscribed_apps 
    

摘要

這就是它!通過這些步驟,您應該啓動服務器應用程序,運行並監聽您聲明的所有事件!

+0

您好,感謝但你的答案我想沒那麼在我的情況下工作,但我開發的差異頁面已經沒有公佈消息事件。你認爲它改變了webhook的東西? –

+0

我不確定我是否理解。 – squixy

+0

所以,基本上,所有的步驟都完成了,當我用測試按鈕觸發webhook時,它會觸發,但是消息對話仍然不會觸發服務器。我在想的是,有沒有機會出現這種情況,這個問題可能是已發佈的臉書頁面和未發佈的頁面之間的區別。 –

0

Django的將一條CHALLENGE回校驗迴應,這裏是在view.py處理這一個片段:

VERIFY_TOKEN = '******' 

def fbwebhook(request): 
    if request.GET['hub.verify_token'] == VERIFY_TOKEN: 
     return HttpResponse(request.GET['hub.challenge']) 
    else: 
     return HttpResponse('Error, invalid token') 

我引用this GitHub repository。從一頁面

+0

不熟悉Python。這是否只是將令牌放在回覆/文本回復的正文中?這些文檔似乎沒有詳細說明。 – Zuko