2016-10-19 3 views
-1

Ich versuche auf bestimmte Alben über ihren Standort von einer Facebook-Seite über eine Grafik-API-Aufruf zuzugreifen und schließlich auf einer Webseite anzuzeigen.Umgang mit facebook Graph API Objekte in Javascript

Im Grunde glaube ich, eine Schleife durch das Objekt muß, dass Facebook zurück (Antwort in diesem Fall) sendet und nur Speicherobjekte, die die Zeichenkette „Deutschland“ in der Standortbeschreibung zu den variablen Alben enthalten. Momentan passiert nichts in der Konsole, wenn ich die Methode triggert.

Ich bin an diesem Punkt irgendwie fest, ich kann API-Aufrufe machen und sie von der bestimmten Seite über andere Funktionen zurückgegeben, so meine Erlaubnis scheint in Ordnung, ich bin nur diese Funktion falsch strukturieren (denke ich , Ich bin relativ neu in JS und Jquery).

model.getPhoto = (function(data){ 
    var albums; 
    FB.api(
     '/--USER ID GOES HERE--/albums', 
     'GET', 
     {"fields":"link,location"}, 
     function(response){ 
      for (var i=0; i<response.length; i++){ 
       if (response.albums.location[i] = "Germany"){ 
        albums = response.albums.location[i]; 
        i++; 
       } 
       console.log(albums); 
      } 
     } 
    ); 
}); 

Antwort

0

Sie setzen model.getPhoto als neue Funktion. Wenn Ihr Code vollständig ist, rufen Sie diese Funktion nie auf. Ich habe einige Zeilen hinzugefügt, dann können Sie versuchen, einige Ergebnisse zu korrigieren und zu sehen ... Auch einige Zeilen geändert, Alben als Array erstellt und i++ außerhalb von if gesetzt, um die for-Schleife korrekt auszuführen. Letzte Zeile ruft Ihre Funktion auf.

model.getPhoto = (function(data){ 
    FB.api('/--USER ID GOES HERE--/albums', 
      'GET',  
      {"fields":"link,location"}, 
      function(response){ 
       var albums = new Array(); 
       for (var i=0; i<response.length; i++){ 
        if (response.albums.location[i] == "Germany"){ 
         albums.push(response.albums.location[i]); 
        } 
        i++; 
        console.log(albums); 
       } 
      }); 
    }); 
model.getPhoto({var1: "value1"}); 

Ich schlage vor, Sie mehr mit Javascript und Logiken spielen, werfen Sie einen Blick in einige Bibliotheken wie jQuery selbst, wie Sie es hier nicht verwenden, nur reine JS, und Spaß haben!

EDIT

Beim Vergleich, Sie == statt =

Best, Eder

+0

Danke für die Hilfe verwenden müssen! – JQBolo

+0

Ihr Willkommen! :) –