the-guru: Seiten ID als Parameter an eine Facebook App

Beitrag lesen

Hy alle zusammen,
vorweg ich freu mich, dass das gute alte Forum wieder da ist. Und darf weg vom stillen Leser zum aktiven Poster werden.

Noch eins, ich hoffe ich hab die Frage in den richtigen Bereich gepostet. Aber mir fehlt die Kategorie Facebook API und merkwürdige Kundenwünsche :). Aber da es ums PHP SDK sollte es passen.

Ich habe für einen Kunden Facebook Apps erstellt und Contao als CMS verwendet.
Das ganze ist einfach gesagt ein mehrseitiger Blog. Die einzelnen Seiten sind eigene Apps. Also zum Beispiel die Seite winwin.php ist ein Seitenreiter die Seite megafun.php ist eine eigene App und so weiter. Damit das für die Canvas Seiten auch so möglich ist die bei der Canvas URL nur Ordner demnach keine .html oder .php Endungen zu lassen habe ich in Contao einen kleinen Hack, dass die einzelnen Seiten ohne Datei Endungen aufgerufen werden können. Nun gut das funktioniert auch alles.
Nun gut alle Seiten haben einen Like-Button ((X)FBML Like Button) der die aktuelle URL verwendet. Und hier kommt das Problem, wir teilen jetzt zwar immer die jeweilige App und nicht die Adresse von unseren Server. Gewünscht ist jedoch, dass jeder Artikel im Blog geteilt und geliked werden kann. Was theoretisch natürlich kein Problem ist nur, dadurch dass die Facebook URL immer gleich bleibt funktioniert das nicht so ganz.
Auch dafür hätten wir eine Lösung gefunden. Die Facebook URL ist ja so aufgebaut: https://www.facebook.com/MEINE-TOLLE..._MEINETOLLEAPP. Mit Facebook Action Links möchte ich die Seiten ID von Contao an die Facebook URL übergeben. Was ja eigentlich auch funktioniert. Die Facebook URL würde dann wie folgt aussehen: https://www.facebook.com/MEINETOLLEF...il%26id%3D1014.
Dazu würdes es eh reichlich im Developer Blog geben jedoch haut das nicht so ganz hin und problematisch aber lösbar wird es wenn ich das in Contao umsetzen möchte.
Ich habe natürlich schon das PHP-SDK eingefügt und ein Template mit dem folgenden Code gefunden.

<?php  
  
if(isset($_REQUEST["signed_request"]))  
{  
  
$signed_request = $_REQUEST["signed_request"];  
// $_POST also work, but better with $_REQUEST  
  
list($encoded_sig, $payload) = explode(., $signed_request, 2);  
  
$data = json_decode(base64_decode(strtr($payload,-_,+/)), true);  
  
if(isset($data['app_data']))  
{  
$mydata = $data['app_data']; //here you can get the value you passed  
}  
}  
  
?> 

Wie gesagt theoretisch funktioniert das ganze. Nur mit dem praktischen Teil klappt es noch nicht so ganz
Ich würde mich über eine kleine Eingebungen oder Ideen freuen

Danke euch schon mal
beste Grüße
Georg