2016-08-08 26 views
0

So bekam ich eine Website, wo ich den Benutzer in der App anmelden, und er/sie wäre in der Lage, auf alle zuzugreifen ihre Fotos auf meiner Seite und bearbeite sie.Wie bekomme ich die Bildquelle (URL) basierend auf Facebook Bild-ID mit Facebook API für JS

Die Art, wie ich die Alben bekommen, ist dies:

FB.api(
    "/me/albums", 
    function (response) { 
     if (response && !response.error) { 
      ... 
     } 
    } 
); 

Dann, nachdem die Liste der Album-IDs bekommen, ich durchlaufen sie, indem Sie ihren Fotos zu bekommen:

FB.api(
    "/"+albumId+"/photos", 
    function (response) { 
     if (response && !response.error) { 
      ... 
     } 
    } 
); 

Dies würde gibt ein Array von Objekten zurück, die die Image-IDs enthalten.

Ich dachte, es wäre mit FB.api("/imageId", function(){}), aber das gleiche Bildobjekt mit der ID zurückgibt.

Ich möchte die Bildquelle/vollständigen Pfad, damit ich sie in einem HTML-IMG-Tag hinzufügen konnte. Aber ich habe immer noch Probleme damit.

sah ich, dass es eine Möglichkeit, es zu tun, indem Sie eine „JSON“ bekommen von dieser URL:

http://graph.facebook.com/"+photoId 

Aber das wirft mir einen Authentifizierungsfehler zum Beispiel, wenn ich versuche, es mit AJAX zu erhalten (Macht weil Ajax nicht die Authentifizierung enthält, die das FB-Objekt ausführt)

Wie kann ich dieses Ergebnis erhalten?

Vielen Dank im Voraus.

+0

Sie müssen nach den gewünschten Feldern fragen, siehe http://stackoverflow.com/a/32585470/1427878 – CBroe

+0

Aber ich möchte die URL für eine bestimmte Foto-ID erhalten, die aussieht, als ob sie zurückgibt, was ich bereits have ... Wenn ich user_photos für das Feld sende, werden alle Foto-IDs zurückgegeben, oder? – msqar

+0

_ "wenn ich User_Fotos für Feld" _ - was? Und welche Informationen suchst du wirklich - die URL zum Foto auf Facebook, damit Nutzer sie dort sehen können? Die URL des Bildes von Facebook's CDN, so dass Sie es in einem 'img' Element auf Ihrer Website verwenden können? Oder …? – CBroe

Antwort

0

So, nachdem einige Dokumentation Links von @CBroe bekommen, fand ich, dass dadurch

FB.api(
    "/"+photoId, {"fields" : "images"}, 
    function (response) { 
     if (response && !response.error) { 
      console.log(response) 
     } 
    } 
); 

das Feld „Bilder“ Mit der Sendung, sie alle absoluten Pfade zu den verschiedenen Größen dieser spezifischen Bild zurückkehren .

Wenn Sie eine 100x100px Miniaturansicht wünschen, können Sie "Bild" als Feld übergeben.