Facebook推送通知

时间:2015-01-03 16:54:04

标签: c# asp.net facebook facebook-graph-api push-notification

我正在使用Facebook C# SDK发布和获取数据。这些简单的任务需要永远正常运行。现在我需要通知我的网页(ASP.NET C#)有关特定Facebook页面上的更改,以便网页知道它应该获取新数据。

我看过这个页面:https://developers.facebook.com/docs/graph-api/real-time-updates/v2.2

但是,与Facebook文档一样,它错过了详细解释它是如何工作以及如何使其工作的原因。我在哪里创建订阅?它说/ {app-id} / subscriptions但是我已经尝试使用我的app-id这个网址,但是找不到网页?

我试图找到关于如何设置但没有成功的例子。

有人可以解释一下这是如何运作的吗?我需要做些什么来实现这一目标?

1 个答案:

答案 0 :(得分:1)

Facebook订阅的工作方式是每次数据更改时ping您拥有的URL。您需要添加您拥有的URL作为Facebook订阅的回调URL以使用

POST /v2.2/{app-id}/subscriptions HTTP/1.1
Host: graph.facebook.com

object=page
callback_url=http%3A%2F%2Fexample.com%2Fcallback%2F
fields=feed
verify_token=thisisaverifystring

在上面的API请求中,发出POST请求以添加http://example.com/callback/作为订阅页面对象的源边缘的回调URL(会话用户拥有的页面对象)

在你的回调网址中,你必须让它处理两个动作

  • 初始回调(通过验证令牌处理验证请求)
  • 保存更新的订阅(接收实时更新)

以下是PHP中的示例

<?php
if ($_REQUEST['hub_verify_token'] === 'thisisaverifystring') {
  echo $_REQUEST['hub_challenge'];
}
$file = 'sample.txt';
$inputJSON = json_decode(file_get_contents('php://input'));
file_put_contents($file, file_get_contents('php://input') );

?>