【发布时间】:2015-04-05 20:54:59
【问题描述】:
这是我对stackoverflow的第一个问题,所以如果有什么问题请指教.. 那么问题是Facebook实时更新: 我已经成功创建了对页面的订阅,它是管理员用户(创建了测试页面和测试应用程序),用户已同意对 manage_page、read_stream、read_friendlist、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)所以我发现你需要使用 /tabs 查询 Graph api 来创建页面选项卡对于我的 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 发送了空的提要,没关系,可能是一些权限或其他东西,但在那之后我发表了更多的帖子,并且 ppl 对此发表了评论(在用户个人资料和测试页面上)但 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);
}
我已尽我所能详细说明我的问题...已搜索但并不真正理解为什么它不起作用。
【问题讨论】:
-
您不需要页面标签应用程序。
-
如果它没有向网页发送任何更新(在这里看到link),这就是我添加页面选项卡的原因,它起作用了,但只有一次......
-
这种订阅页面实时更新的方式已经过时了。在此处查看当前方法:developers.facebook.com/docs/graph-api/real-time-updates/v2.2
-
@CBroe,建立订阅的新方法是什么?通过一些框架?
-
你点击我发布的链接并阅读它怎么样......?
标签: php facebook facebook-graph-api real-time subscription