用于页面Feed的Facebook Realtime Update API

Gan*_*ini 6 php facebook facebook-graph-api

我已经浏览了Facebook提供的Realtime Update API文档并成功订阅了"page"对象,字段为"feed",下面是我使用的订阅URL检查

网址: - https://graph.facebook.com//subscriptions?access_token =

这给了我以下回应

响应:-

{
    "data": [
        {
            "object": "page",
            "callback_url": <CALLBACK_URL>,
            "fields": 
[
                "feed"
            ],
            "active": true
        }
    ]
}.
Run Code Online (Sandbox Code Playgroud)

此响应明确指出App已订阅页面上的订阅源.

但我的问题是我无法接收任何实时更新.

下面是CALLBACK_URL php文件代码

<?php
    define('VERIFY_TOKEN', <APPSECRET_KEY>);                                    
    $method = $_SERVER['REQUEST_METHOD'];

    if(!empty($method))
    {
        if (!empty($_GET) && strcmp($method, 'GET') == 0 && strcmp($_GET['hub_mode'], 'subscribe') == 0 && $_GET['hub_verify_token'] == VERIFY_TOKEN) 
        {   
            echo $_GET['hub_challenge'];
        } 
        else if (strcmp($method, 'POST') == 0) 
        {
            file_put_contents(<FILE_PATH1>, "inside post method");   
            if (isset( $_SERVER['HTTP_X_HUB_SIGNATURE'] ) ) 
            {
                file_put_contents(<FILE_PATH2>, "inside post method");
                $post_body = file_get_contents("php://input");

                $object = json_decode($post_body);
                file_put_contents(<FILE_PATH3>, json_encode($object));
                if ($_SERVER['HTTP_X_HUB_SIGNATURE'] == "sha1=" . hash_hmac('sha1', $post_body, VERIFY_TOKEN)) 
                {
                    //REST OF THE CODE TO SAVE IN DB
                }
            }
        }
    }
    else
    {
        echo "Invalid Request, might be for testing purpose";
    }
?>
Run Code Online (Sandbox Code Playgroud)

Facebook没有向我的CALLBACK_URL发送任何POST请求.如果我遗失任何东西,请告诉我

Gan*_*ini 5

最后我找到了答案,只是对下面的URL发出了POST请求

https://graph.facebook.com/PAGE_ID/tabs?app_id=APP_ID&access_token=PAGE_ACCESS_TOKEN

然后,我开始接收Facebook实时更新

  • 我做到了,得到的回应是正确的,但仍然没有收到更新 (3认同)
  • @KarthikSekar,向https://graph.facebook.com/PAGE_ID/tabs发出POST请求已过时-您现在需要使用/ PAGE_ID / subscribed_apps来订阅页面更新。https://developers.facebook.com/docs/graph-api/reference/page/subscribed_apps/ (2认同)