Я только что обнаружил, что данные JSON, возвращаемые Facebook с использованием метода FQL, имеют другой формат, чем JSON, возвращаемый API-интерфейсом facebook facebook.
Например:
FQL <> GRAPH
uid <> id
work_history <> work
education_history <> education
Также имена полей и структура объектов в массивах различны.
Я использовал FQL и GRAPH для своего сайта.Потому что я не хочу делать 2 пользовательских занятия в Facebook.Я решил использовать только график api.
Сейчас я пытаюсь получить список всех друзей пользователя, включая данные о работе и образовании.
Я не уверен, нужен ли вам мой код, но если он нужен для решения моей проблемы, вот он: (строка json, которую я хочу обработать, приведена ниже)
public static List<FbUser> getFriends(string id, string token)
{
//get all id's of friends
string jsonUrl = graphUrl + "/" + id + "/friends?access_token=" + token;
var json = new WebClient().DownloadString(jsonUrl);
FbUserList useridlist = JsonConvert.DeserializeObject<FbUserList>(json);
//get all data of friends
jsonUrl = graphUrl + "?ids=" + useridlist.getIds() + "&access_token=" + token;
json = new WebClient().DownloadString(jsonUrl);
List<FbUser> userlist = JsonConvert.DeserializeObject<List<FbUser>>(json.Insert(0,"[") + "]");
return userlist;
}
useridlist.cs
public class FbUserList
{
private List<FbObject> _data;
public List<FbObject> data
{
get
{
return _data;
}
set
{
_data = value;
}
}
public string getIds()
{
string result = "";
foreach (FbObject o in _data) {
result += o.id + ",";
}
string test = result.Substring(0, result.Length - 1);
return test;
}
}
После этого в переменной json я получаю следующие данные:
[{"505757632":{"id":"505757632","name":"Cecilia demo","first_name":"Cecilia", ....},
{"507493765":{"id":"507493765","name":"Bjorn demo","first_name":"Bjorn", .....}
, ... ]
Я не знаю, как получить список пользователей.объекты из этих данных.пользовательский объект имеет такие поля, как: id, name, first_name, ... Так что мне нужно избавиться от дополнительного объекта, который обернут вокруг моего пользовательского объекта.
Любая помощь очень ценится!