Ergebnis 1 bis 4 von 4

Thema: Facebook-like prüfen

  1. #1
    Meister(in) Avatar von DarkEmperor
    Registriert seit
    23.04.2010
    Ort
    Freital
    Alter
    24
    Beiträge
    356
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    5

    Frage Facebook-like prüfen

    Halli hallo,
    seit ca. einem halben Jahr verzweifel ich an der Facebook-API. ... Ich finde keine wirklichen/aktuellen Tutorials, die Documentation ist im Gegensatz zu Google-APIs grotten schlecht (finde ich) und so langsam komme ich an Punkte wo es wirklich praktisch wäre sie ein wenig zu verstehen.^^

    Mein Ziel ist, möglichst per JS & PHP ob ein User:
    1.) angemeldet ist
    2.) er eine Facebook-Seite geliked hat
    3.) falls eins davon nicht zutrifft dann soll ein like-Button auftauchen

    Dieser like-Button soll dann den Inhalt ersetzen und sobald der User auf "like" klickt wird der Button aus und der Inhalt eingeblendet. (bis hier her eigentlich alles JS) Allerdings soll auch schon beim Seitenaufruf ein Check durchgeführt werden ob der User die Seite schon geliked hat (nicht anhand einer DB sondern live) um unnötiges anzeigen und Co. zu vermeiden.

    Ich wäre über jedes Tutorial/Link oder Ähnliches sehr froh! Um gleich Diskussionen vorzubeugen:Ich habe schon nach Plugins gesucht und war auch fündig, allerdings fehlt allen entweder die Möglichkeit eine bestimmt URL zum liken zu bestimmen (absolut unbrauchbar) oder es fehlt der PHP-Check und der like-Button wird anhand von einer DB ausgeblendet.
    Zu dem 2. Punkt: ja ich bin mir bewusst dass dadurch evtl einige verärgert sind. Dieses Verfahren möchte ich aber zum einen nur zeitlich begrenzt für jeden Artikel ca. 2Tage aktiv haben und auch nur bei Artikeln/Fotoalben für die ich einen Auftrag aber ohne Bezahlung hatte, sprich als Gegenleistung für meine Arbeit.

    MfG Tom
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!
    Geändert von DarkEmperor (23.02.2013 um 21:44 Uhr)

  2. #2
    Großmeister(in)
    Registriert seit
    09.12.2008
    Ort
    Berlin
    Alter
    38
    Beiträge
    666
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard AW: Facebook-like prüfen

    Erstmal vorweg, ich nehme an du sprichst von einer Seitenreiter-App für eine Facebook-Page. Bei Canvas-Apps oder Website-Applikationen kannst du nicht überprüfen oder der Besucher etwas geliked hat.

    Für eine Seitenreiter-App ist das ganze sehr simpel:
    PHP-Code:
    require_once 'facebook.class.php';
    $fb = new facebook(array(
      
    'appId' => $appID,
      
    'secret'=> $appSecret,
      
    'cookie'=> true));
    $signedRequest $fb->getSignedRequest();
    if(!(int)
    $signedRequest['page']['liked']) {
      
    // Besucher hat die Seite noch nicht geliked
      // Entsprechenden Inhalt anzeigen
    }
    else {
      
    // Besucher hat die Seite geliked
      // Entsprechenden Inhalt anzeigen

    Pfadangabe zur Facebook-Klasse und deine AppID + AppSecret müssen angepasst werden.

    Kleiner Hinweis:
    Wenn in dem Seitenreiter eine eigene Navigation enthalten ist, der Besucher also innerhalb des iframes navigieren kann, dann musst du den signedRequest in die Session schreiben oder immer wieder per GET oder POST übergeben, da von Facebook nur beim ersten Laden des iframes ein sigendRequest gesendet wird, nicht mehr beim navigieren innerhalb des iframes (ist ja auch logisch).
    "Programming today is a race between software engineers
    striving to build bigger and better idiot-proof programs,
    and the universe trying to build bigger and better idiots.
    So far, the universe is winning."
    Rick Cook

  3. #3
    Meister(in)
    Themenstarter
    Avatar von DarkEmperor
    Registriert seit
    23.04.2010
    Ort
    Freital
    Alter
    24
    Beiträge
    356
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    5

    Standard AW: Facebook-like prüfen

    Ok, also der erste Teil war mir noch nicht klar - habe aber alles erfolgreich auf FB-Tabs verteilen können.

    Der Code hat mir sehr geholfen auch wenn ich bei einem Tab die Fehlermeldung bekomme dass die facebook-Klasse nicht existieren würde!? :/
    - selber Code wie bei dem anderen Tab (da funktioniert es einwandfrei)
    Falls du da irgendeine idee hast weshalb würde ich mich freuen.

    Der Code - etwas erweitert:
    PHP-Code:
    <?php
    $appID 
    xxx;
    $appSecret yyy;

    require_once 
    'http://tkwitkowski.de/src/facebook.php';
    $fb = new facebook(array(
      
    'appId' => $appID,
      
    'secret'=> $appSecret,
      
    'cookie'=> true));
    $signedRequest $fb->getSignedRequest();
    if(!(int)
    $signedRequest['page']['liked']) {
        
    ?>
        <div id="fb-root"></div>
        <script>(function(d, s, id) {
              var js, fjs = d.getElementsByTagName(s)[0];
              if (d.getElementById(id)) return;
              js = d.createElement(s); js.id = id;
              js.src = "//connect.facebook.net/de_DE/all.js#xfbml=1&appId=221450924598315";
              fjs.parentNode.insertBefore(js, fjs);
            }(document, 'script', 'facebook-jssdk'));
        </script>
        <script>
            FB.Event.subscribe('edge.create', function(response) {
                top.location.href = "http://www.facebook.com/tkw.foto/app_221450924598315";
            });
        </script>
        <div class="fb-like" data-href="http://www.facebook.com/tkw.foto" data-send="true" data-width="810" data-show-faces="true" data-font="arial"></div>
    <?php } else { 
    // andrer Code
    ?>
    MfG Tom

  4. #4
    Großmeister(in)
    Registriert seit
    09.12.2008
    Ort
    Berlin
    Alter
    38
    Beiträge
    666
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard AW: Facebook-like prüfen

    Wenn du einen URL bei require_once angibst, dann wird die Datei auf dem Zielserver ausgeführt, nicht innerhalb deiner Applikation. Daher ist dann auch in deinem Skript die Facebook-Klasse nicht vorhanden.
    Du musst die Datei mit der Facebook-Klasse schon über eine absolute oder relative Pfadangabe auf deinem Server einbinden.

    http://www.php.net/manual/de/function.include.php
    Wenn "fopen-URL-Wrapper" aktiviert sind (was sie in der Standard-Konfiguration sind), kann die einzubindende Datei mit einem URL (über HTTP oder ein anderes unterstütztes Protokoll - siehe Unterstützte Protokolle and Wrappers für eine Liste unterstützter Protokolle) anstall eines lokalen Pfades eingebunden werden. Wenn der Zielserver die Zieldatei als PHP-Code interpretiert, können Variablen an die einzubindende Datei mithilfe von HTTP-GET-Query-Strings übergeben werden, obwohl dies nicht das selbe ist, wie wenn man die Datei einbindet und sie den Variablenbereich übernimmt; das Skript läuft weiterhin auf dem entfernten Server und das Ergebnis wird in das lokale Skript eingebunden.
    "Programming today is a race between software engineers
    striving to build bigger and better idiot-proof programs,
    and the universe trying to build bigger and better idiots.
    So far, the universe is winning."
    Rick Cook

Ähnliche Themen

  1. Facebook App. PHP
    Von Valentinpro im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 1
    Letzter Beitrag: 27.01.2012, 12:29
  2. Facebook
    Von viper3000 im Forum HTML & CSS Forum
    Antworten: 2
    Letzter Beitrag: 16.11.2011, 16:10
  3. facebook
    Von htmlnewbie im Forum HTML & CSS Forum
    Antworten: 2
    Letzter Beitrag: 27.07.2010, 17:39
  4. String prüfen
    Von sero79 im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 5
    Letzter Beitrag: 30.12.2008, 15:59
  5. prüfen ob $x ein vielfaches von $y ist....
    Von Gsus im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 3
    Letzter Beitrag: 30.09.2006, 17:19

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •