Facebook Graph API извлекает друзей с помощью json и C # - PullRequest
4 голосов
/ 27 июля 2010

Я работаю в C # с Graph API и смог получить информацию о профиле пользователя Facebook, такую ​​как идентификатор, имя и адрес электронной почты, а затем десериализовать JSON, чтобы иметь возможность назначать значения меткам.

Однако моя проблема в том, что когда я собираюсь получить список друзей или список чего-либо в этом роде, как мне выполнить десериализацию этой информации JSON в C #, чтобы я мог хранить данные? Я полагаю, что я ищу способ десериализации результатов в объект словаря, чтобы затем я мог перебирать данные.

Ответы [ 2 ]

10 голосов
/ 28 июля 2010

Хорошо .. Я в конечном итоге использовал JSON.Net, и он отлично работал. Спасибо, что указали мне в этом направлении. С помощью другой статьи, которую я нашел (http://www.mattcashatt.com) и файлы JSON.net, я смог заставить все работать. Вот часть кода, который я использовал.

            #region JSON.Net User Profile
            //Profile URL
            url = "https://graph.facebook.com/me?fields=id,name,email&access_token=" + oAuth.Token;

            JObject myProfile = JObject.Parse(requestFBData(url));
            string myID = myProfile["id"].ToString().Replace("\"", "");
            string myName = myProfile["name"].ToString().Replace("\"", "");
            string email = myProfile["email"].ToString().Replace("\"", "");

            lblID.Text = myID;
            lblFullName.Text = myName;
            lblEmail.Text = email;
            imgUser.ImageUrl = "https://graph.facebook.com/me/picture?type=large&access_token=" + oAuth.Token;

            #endregion


            #region JSON.Net Friends

            //Friends URL
            url = "https://graph.facebook.com/me/friends?access_token=" + oAuth.Token;


            JObject myFriends = JObject.Parse(requestFBData(url));

            string id="";
            string name = "";

            //Loop through the returned friends
            foreach (var i in myFriends["data"].Children())
            {
                id = i["id"].ToString().Replace("\"", "");
                name = i["name"].ToString().Replace("\"", "");
                lblFriends.Text = lblFriends.Text + "<br/> " + "id: " + id + " name: " + name + "<img src=" + "https://graph.facebook.com/" + id + "/picture>";
            }

            #endregion



        }
    }

}

public string requestFBData(string action)
{
    HttpWebRequest req = (HttpWebRequest)WebRequest.Create(action);
    HttpWebResponse resp = (HttpWebResponse)req.GetResponse();

    StreamReader sr = new StreamReader(resp.GetResponseStream());
    string results = sr.ReadToEnd();
    sr.Close();

    return results;
}
1 голос
/ 27 июля 2010

Вам нужен анализатор JSON для C #.

Это может помочь: парсинг JSon с использованием JSon.net

Существует много других синтаксических анализаторов C # JSON:

  1. JSON Checker

  2. Jayrock

Подробнее здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...