Accès aux données à partir de la réponse de FB.(api)

Je vais avoir des difficultés pour accéder à la réponse JSON retourné les données de la nouvelle Facebook JS SDK nouveau Graphe des appels d'API.

Par exemple, dans certains de leurs docs où ils sont à l'aide de l'ancienne façon d'utiliser le SDK , ils obtenir un pointeur vers les données en réponse[0]

mais ici, c'est montrer que vous avez besoin d'utiliser la réponse.data[0] au lieu de: http://developers.facebook.com/tools/console/ (cliquez sur fb.api — photo-albums)

Alors, qui est-il? Je sais qu'avec mon code ci-dessous, si j'ai essayer d'utiliser de réponse[0] type de syntaxe pour obtenir le retour JSON-je obtenir de l'indéfini.

Si j'utilise de réponse[0].longueur je reçois aussi pas défini

Mais si j'essaie de réponse.data[0].longueur, j'obtiens 2, qui je pense est le retour JSON ou mes 2 albums..je ne sais pas comment jouer avec cet objet renvoyé en termes de syntaxe et de la manipuler, de ses propriétés, etc.

Je veux à la fin, d'analyser le retour JSON à l'aide de jQuery parseJSON méthode, mais n'ont aucune idée de comment passe même le droit de syntaxe ici pour la réponse et de n'utiliser que la réponse de l'objet.

FB.api(uri, function(response)
{
    alert("response: " + response);

    //check for a valid response
    if (response == "undefined" || response == null || !response || response.error)
    {
        alert("error occured");
        return;
    }

    alert("response length: " + response.data.length);
}

cette alerte m'a donné 2 qui a du sens. J'ai 2 albums.

ensuite, j'ai essayé quelque chose comme réponse.data[0] et essayé un jQuery parseJSON(response.data) ou parseJSON(response.data[0]) sur que et il ne fonctionne pas. Si quelqu'un peut m'expliquer l'objet de réponse ici, comme en ce qui concerne Facebook, je suppose? Je ne vois pas de docs sur la façon d'utiliser cet objet renvoyé à tous et comment elle est construite.

Mise à JOUR:

Ok, voici donc l'intégralité de l'analyse de la méthode de la tentative que j'ai écrasé jusqu'à présent. Je ne sais pas si le jQuery analyse est 100% bon code encore, j'ai écrasé qu', mais je ne peux même pas test jusqu'à ce que j'ai à comprendre comment utiliser cet objet de réponse de revenir. Je sais qu'il est de retour JSON parce que j'ai analysé un autre facebook de réponse de l'objet dans une autre méthode dans le JS SDK donc à peu près sûr que la réponse[0] ou de la réponse.data[0] vous donnera la chaîne JSON.

function GetAllFacebookAlbums(userID, accessToken)
{
    alert("inside GetAllFacebookAlbums(userID, acessToken)");

    var dFacebookAlbums = {}; //dictionary
    var uri = "/" + userID + "/albums?access_token=" + accessToken;
    //var uri = "/me/albums";

    alert("get albums uri: " + uri);

    FB.api(uri, function(response) 
    {
        alert("response: " + response);

        //check for a valid response
        if (response == "undefined" || response == null || !response || response.error) 
        {
            alert("error occured");
            return;
        }

        alert("response length: " + response.data.length);

        for (var i=0, l=response.data.length; i<l; i++)
        {
            alert("response[key]: " + response.data[i].Name);
        }

        //parse JSON from response
        var dJSONObjects = jQuery.parseJSON(response.data);

        alert("dJSONObjects: " + dJSONObjects);

        if (dJSONObjects.length == 0)
            return;

        //iterate through the dictionary of returned JSON objects 
        //and transform each to a custom facebookAlbum object
        //then add each new FacebookAlbum to the final dictionary 
        //that will return a set of facebookAlbums
        $.each(json.attributes, function () {
            //add a new album to the dictionary
            aFacebookAlbums[i] = FacebookAlbum(
                                                jsonObject["id"],
                                                jsonObject["name"],
                                                jsonObject["location"],
                                                jsonObject["count"],
                                                jsonObject["link"]
                                              );
        });
    });

    return dFacebookAlbums;
}

OriginalL'auteur PositiveGuy | 2010-07-26