public static void SingleQuery(string accessToken) { var query = string.Format("SELECT uid,pic_square FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1={0})", "me()"); try { var fb = new FacebookClient(accessToken); var result = (IList<object>)fb.Query(query); foreach (var row in result) { var r = (IDictionary<string, object>)row; var uid = (long)r["uid"]; var picSquare = (string)r["pic_square"]; Console.WriteLine("User Id: {0}", uid); Console.WriteLine("Picture Square: {0}", picSquare); Console.WriteLine(); } // Note: This json result is not the orginal json string as returned by Facebook. Console.WriteLine("Json: {0}", result.ToString()); } catch (FacebookApiException ex) { // Note: make sure to handle this exception. throw; } }
public static void MultiQuery(string accessToken) { var query1 = "SELECT uid FROM user WHERE uid=me()"; var query2 = "SELECT profile_url FROM user WHERE uid=me()"; try { var fb = new FacebookClient(accessToken); var result = (IList<object>)fb.Query(query1, query2); var result0 = ((IDictionary<string, object>)result[0])["fql_result_set"]; var result1 = ((IDictionary<string, object>)result[1])["fql_result_set"]; Console.WriteLine("Query 0 result: {0}", result0); Console.WriteLine(); Console.WriteLine("Query 1 result: {0}", result1); Console.WriteLine(); // Note: This json result is not the orginal json string as returned by Facebook. Console.WriteLine("Json: {0}", result.ToString()); } catch (FacebookApiException ex) { // Note: make sure to handle this exception. throw; } }
/// <summary> /// gets the Application User representation of "me" /// </summary> /// <param name="i_AccessToken"></param> /// <returns></returns> public static ApplicationUser GetUser(string i_AccessToken) { ApplicationUser result = new ApplicationUser(); FacebookClient fbClient = new FacebookClient(i_AccessToken); ; dynamic me = fbClient.Query( "SELECT uid, name, first_name, last_name, pic_small, pic_big, pic_square, pic, email, birthday_date FROM user WHERE uid = me()"); result = createUserFromDynamicUser(me[0], result); result.AccessToken = i_AccessToken; return result; }
/// <summary> /// return a dictionary of users friends. sorted as {ID,FRIEND} /// </summary> /// <param name="i_AccessToken"></param> /// <returns></returns> public static Dictionary<string, Friend> GetUsersFriends(string i_AccessToken) { Dictionary<string, Friend> result = new Dictionary<string, Friend>(); FacebookClient fbClient = new FacebookClient(i_AccessToken); dynamic userFriends = fbClient.Query( "SELECT uid, name, first_name, last_name, pic_small, pic_big, pic_square, pic, birthday_date FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())"); foreach (dynamic friend in userFriends) { Friend tempFriend = new Friend(); createUserFromDynamicUser(friend, tempFriend); result.Add(tempFriend.Id, tempFriend); } return result; }
private static void GetPicUrls(List<string> queries, ConcurrentBag<Uri> picsToGet, string seconds, string queryFormat) { Parallel.ForEach(Settings.Default.FacebookUsersSettings.UserSettings, (userSetting => { string[] ids = userSetting.PictureSettings.Select(x => x.User.Id).ToArray(); string query = string.Format(queryFormat, string.Join(",", ids), seconds); queries.Add(query); var fb = new FacebookClient(userSetting.AccessToken); dynamic result = fb.Query(query); foreach (dynamic pic in result) { picsToGet.Add(new Uri(pic.src_big)); } })); }
private void SearchForFacebookId(int personId, string firstname, string surname, FacebookClient client) { try { string fullname = firstname + " " + surname; dynamic friends = client.Query("SELECT uid, first_name, last_name FROM user WHERE uid IN ( SELECT uid2 FROM friend WHERE uid1=me()) AND name='" + fullname + "'"); if (friends.Count == 1) { PersonDataAccessor.SavePersonFacebookId(personId, friends[0].uid); } } catch { } }