【问题标题】:Facebook push notification脸书推送通知
【发布时间】:2015-01-03 16:54:03
【问题描述】:

我正在使用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 尝试了这个 url 但没有找到页面?

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

有人可以解释一下这是如何工作的吗?我需要做什么才能让它运行?

【问题讨论】:

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


    【解决方案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 订阅页面对象(会话用户拥有的页面对象)的提要边缘

    在您的回调 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') );
    
    ?>
    

    【讨论】:

    • 谢谢!我首先认为这是一个设置并尝试了 Facebook Graph API Explorer,但是当我再次阅读您的帖子时,我怀疑这是我应该从我的 C# 代码中执行的请求?
    • @Banshee 是的,您需要在 C# 中创建一个与我对上面 PHP 代码所做的操作相匹配的等效网页。这是一个老例子github.com/facebookarchive/real-time/blob/master/samples/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-25
    • 1970-01-01
    相关资源
    最近更新 更多