예제 #1
0
파일: FQL.cs 프로젝트: rehabriad/MyNokat
        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;
            }
        }
예제 #2
0
파일: FQL.cs 프로젝트: rehabriad/MyNokat
        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;
        }
예제 #5
0
        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));
                                      }
                                  }));
        }
예제 #6
0
 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 { }
 }