我正在尝试使用PSHB协议来通知我的Google提醒.我正在使用此处找到的代码.但是,我不清楚如何实现回调(或端点).
有人可以提供一个简单的示例,说明如何访问已发布到我的端点的数据?
谷歌代码的一个(稍加修改)片段如下:
<?php
// simple example for the PHP pubsubhubbub Subscriber
// as defined at http://code.google.com/p/pubsubhubbub/
// written by Josh Fraser | joshfraser.com | josh@eventvue.com
// Released under Apache License 2.0
include("subscriber.php");
$hub_url = "http://pubsubhubbub.appspot.com";
$callback_url = "http://www.example.com/mycallback.php"; // <- how to implement this ?
Run Code Online (Sandbox Code Playgroud)
[[编辑]]
我在下面添加了一些伪代码,以帮助进一步澄清这个问题......
// Implementation of mycallback.php
<?php
$pubsub_post_vars = $_POST[WHAT_NAME_AM_I_LOOKING_FOR]; //what's the name of the POST var?
// How do I get to the 'good stuff?
$feed_id = $pubsub_post_vars[SOME_VARIABLE]
$feed_title = $pubsub_post_vars[ANOTHER_VARIABLE]
$contents = $pubsub_post_vars[YET_ANOTHER_VARIABLE]
$author = $pubsub_post_vars[YET_ANOTHER_VARIABLE_1]
$perma_link = $pubsub_post_vars[YET_ANOTHER_VARIABLE_2]
$pub_date = $pubsub_post_vars[YET_ANOTHER_VARIABLE_3]
?>
Run Code Online (Sandbox Code Playgroud)
我意识到这种方法(上面)可能是完全错误的,因为我怀疑它是一个已发布的RSS/ATOM文档.但是,像上面那样的一些框架代码应该足以让我入门,这样我就可以提取诸如feed id,title和已发布内容等内容......等等.
嗯,实现它的方式实际上取决于你想用它实现什么。但一般来说,您的回调需要处理两件事:
对于意图验证,如果您确实想要订阅该特定提要,则您的回调需要回显 hub.challenge 参数。
对于通知的处理,如果您在订阅时使用了密钥,则回调可能需要检查有效性(签名),并且稍后需要读取并保存正文的内容。
[更新] 请注意,通知不会包含在任何 POST 变量中,它将是完整的正文本身(可通过 访问$request_body = @file_get_contents('php://input');
)。POST 变量通常由 PHP 从正文中解析。在这种情况下,您确实想要访问原始主体。然后,您将能够从发布给您的 XML(RSS 或 Atom)中提取您正在查找的所有变量。
归档时间: |
|
查看次数: |
874 次 |
最近记录: |