Обновление страницы в реальном времени на Facebook Переполнение стека

это мой первый вопрос к stackoverflow, поэтому, если что-то не так, пожалуйста, сообщите ..
Ну, проблема в обновлениях Facebook в реальном времени:
Я успешно создал подписку на страницу, и это пользователь-администратор (создана тестовая страница и тестовое приложение), пользователь согласился с правами на управление manage_page, read_streamlist, read_insights, publish_actions и много данных пользователя (о, электронная почта и т. Д. И т. Д.)
Когда я запрашиваю GET to Graph API с ребром / подписками, я получаю результат:

{
"data": [
{
"object": "user",
"callback_url": "LIVE_CALLBACK_URL",
"fields": [
"feed"],
"active": true
},
{
"object": "page",
"callback_url": "LIVE_CALLBACK_URL",
"fields": [
"built",
"description",
"email",
"feed",
"location",
"name",
"personal_info",
"written_by"],
"active": true
}
]
}

Итак, об этом позаботились, после этого я выяснил, почему Facebook не отправляет мне какие-либо обновления (которые я регистрирую на somefile.txt). Итак, я обнаружил, что вам нужно запросить API Graph с / tabs, чтобы создать вкладку страницы для моего API. , Когда я запрашиваю, что он возвратил «успех», так что он создан (не могу узнать, где он хранится, но он работает …).
После этого я создал некоторые данные в своем профиле, чтобы проверить, а также на странице, чтобы увидеть, отправляет ли Facebook какие-либо обновления, и он неожиданно отправил одно обновление, которое было комментарием к моему сообщению в профиле пользователя (опубликовано на временной шкале).
Ответ был:

14:17 05.02.2015
Array
(
[object] => user
[entry] => Array
(
[0] => Array
(
[uid] => ****my_fb_id****
[id] => ****my_fb_id - not_someone_else****
[time] => 1423146339
[changed_fields] => Array
(
[0] => feed
)

)

)

)

Таким образом, Facebook отправляет пустой канал, и это нормально, возможно, есть какие-то разрешения или что-то еще, но после этого я сделал больше постов и комментариев от пользователей (на профиле пользователя и на тестовой странице), но Facebook не отправлял ни обновлений, ни каких-либо позвоните на мою веб-страницу.
Так кто-нибудь сталкивался с этой проблемой в прошлом, и как он решил это?
Часть для получения обновления от Facebook:

$method = $_SERVER['REQUEST_METHOD'];
if(isset($_GET['hub_mode']) && isset($_GET['hub_verify_token'])){
if (trim($method) == 'GET' && trim($_GET['hub_mode']) == 'subscribe' && trim($_GET['hub_verify_token']) == VERIFY_TOKEN) {
print $_GET['hub_challenge'];
}
}
else if ($method == 'POST') {
$updates = json_decode(file_get_contents("php://input"), true);
$file = 'log.txt';
$current = file_get_contents($file);
@$results = print_r($updates,true);
$current .=  $results;
file_put_contents($file, $current);
}

Я пытался подробно описать свою проблему, насколько мог … Искал, но не понимаю, почему она не работает.

2

Решение

Помимо использования устаревшего метода, как обрисовал в общих чертах @CBroe, я думаю, у вас есть недоразумение: Facebook не отправит вам данные, которые изменились, но объект (и его поля / ребра) изменение произошло для объекта пользователя изменений.

Для Страниц вы можете получить изменения самостоятельно (changed_fields против changes поля в запросе FB).

Увидеть

После успешного создания подписки Facebook будет отправлять HTTP-запрос POST на ваш URL-адрес обратного вызова каждый раз, когда происходят изменения (в выбранных полях или ребрах).

Это означает, что вам нужно создать отдельный запрос от информационного объекта, который вы получаете от Facebook. В вашем примере это будет запрос к ленте вашего пользователя

GET /{user_id}/feed

запросить последние изменения.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]