2012-03-29 5 views
5

내 Google 알리미에 대한 알림을 받기 위해 PSHB 프로토콜을 사용하려고합니다. 코드 here을 사용하고 있습니다. 그러나 콜백 (또는 끝점)을 구현하는 방법은 분명하지 않습니다.PHP의 Pubsubhubbub 가입자 콜백 구현

내 끝점에 게시 된 데이터에 액세스하는 방법을 보여주는 간단한 예제를 제공 할 수 있습니까? (약간 수정)

구글 코드의 조각은 아래 다음과

<?php 

// simple example for the PHP pubsubhubbub Subscriber 
// as defined at http://code.google.com/p/pubsubhubbub/ 
// written by Josh Fraser | joshfraser.com | [email protected] 
// 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 ? 

[[편집] 내가 어떤 의사 아래에 추가 한

가 더 질문을 명확히하기 위해 ... 나는 그것이 PO있는 RSS/ATOM 문서 것으로 의심한다.

// 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] 
?> 

내가 완전 잘못 될 수있다 (위) 그 방법을 실현 STED. 그러나 위와 같은 일부 스켈레톤 코드는 피드 ID, 제목 및 게시 된 콘텐츠 등을 추출 할 수 있도록 나를 시작하기에 충분해야합니다.

+0

해결책을 찾았습니까? 나랑 나눌 생각이야? 또한 콜백 구현에 문제가 있습니다. 대단히 감사합니다. 당신의 도움은 대단히 감사합니다. – overshadow

답변

2

글쎄, 구현 방법은 실제로 다릅니다. 당신이 그것을 가지고 달성하고자하는 것에. 그러나 일반적으로,이 두 가지가 콜백을 처리해야합니다 : 의도의

  • 검증에게 통지
  • 취급

을 의도의 검증을 위해, 당신의 콜백은 hub.challenge 에코 필요 매개 변수, 해당 특정 피드에 대한 구독을 원한다면

알림을 처리하기 위해 콜백은 유효성 (서명)을 확인해야합니다. 암호화 할 때 비밀을 사용하고 나중에 본문 내용을 읽고 저장해야하는 경우 일 수 있습니다.

[UPDATE] 알림은 POST 변수에 포함되지 않으며 전신 (Accessible through $request_body = @file_get_contents('php://input');)이됩니다. POST vars는 일반적으로 PHP가 본문에서 파싱합니다. 이 컨텍스트에서는 원시 본문에 액세스하려고합니다. 그런 다음 게시 된 XML (RSS 또는 Atom)에서 찾고있는 모든 바를 추출 할 수 있습니다.

+0

안녕하세요, 그렇습니다. 그렇게하기가 쉽다는 것을 알고 있습니다. 따라서 어떻게 해야할지 잘 모르는 것에 좌절감을 느낍니다. :) 내 업데이트 된 질문을 참조하십시오. 감사! –