Текущий день в Facebook Друзья Дни рождения в Android

Я пишу приложение, в котором я собираю список друзей Facebook, используя пример кода Hackbook, но теперь я хочу получить список друзей Facebook в эти дни рождения в текущем месяце , чтобы получить список всех друзей, которыми я пользуюсь этим кодом:

public static void requestFriends(FacebookRequest facebookRequest) { Log.d(LOG_TAG, "requestFriends(" + ")"); String query = "select name, birthday, uid, pic_square from user where uid in (select uid2 from friend where uid1=me()) order by birthday_date"; Bundle params = new Bundle(); params.putString("method", "fql.query"); params.putString("query", query); FacebookUtility.asyncRunner.request(null, params, new FacebookRequestListener(FacebookRequestListener.FRIENDS, facebookRequest)); } 

Тем не менее, я использую ниже код, чтобы получить список друзей тех дней рождения в текущем месяце :

  Calendar c = Calendar.getInstance(); int month = c.get(Calendar.MONTH)+ 1; String query = "select name, birthday, uid, pic_square from user where uid in " + "(select uid2 from friend where uid1=me())AND birthday_date >= '" + month + "/01' AND birthday_date <= '" + month + "/31' ORDER BY birthday_date ASC"; 

но я не получаю никаких записей, где я не хватает?

Что вы можете сделать, так это рассчитать следующие значения, используя язык, который вы используете, и использовать их в своем FQL:

 1st's day of the current month (17), Today's month of the year (01) End date day of the current month (31) 

Удостоверьтесь, что дни и месяцы отформатированы с использованием dd и MM соответственно (заполнены нулем в случае одиночных цифр). Тогда ваш FQL будет выглядеть так:

 SELECT name, birthday_date FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) AND strlen(birthday_date) != 0 AND ( substr(birthday_date, 0, 2) = '01' AND substr(birthday_date, 3, 5) >= '01' AND substr(birthday_date, 3, 5) < '31' ) ORDER BY birthday_date 

Затем он вернет друзей, у которых день рождения падает с 01 января по 31 января.

Обновление: рассчитать текущий месяц и последнюю дату текущего месяца:

 Calendar cal=Calendar.getInstance(); int currentmonth=cal.get(Calendar.MONTH)+1 public static Date getLastDateOfMonth(int year, int month) { Calendar calendar = new GregorianCalendar(year, month, Calendar.DAY_OF_MONTH); calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH)); return calendar.getTime(); } 

Используйте этот запрос, чтобы получить текущий месяц facebook друга в порядке возрастания.

SELECT name, birthday, uid, pic_square FROM user WHERE uid in (SELECT uid2 FROM friend WHERE uid1=me())AND birthday_date >= '01/01/2013' AND birthday_date <= '31/01/2013' ORDER BY birthday_date

  • Как получить доступ к личной информации Facebook, используя идентификатор ASP.NET (OWIN)?
  • Facebook - «Невозможно выполнить запрос по имени пользователя»
  • Проводка на стене друзей с помощью API-интерфейса Graph через соединение «feed» с 6 февраля 2013 г.
  • Ток состояния CSRF не соответствует одному предоставленному FB PHP SDK 3.1.1 Oauth 2.0
  • Facebook Graph API v2.0 + - / me / friends возвращает пустое место или только друзья, которые также используют мое приложение
  • Долгосрочный токен доступа FB для сервера, чтобы вывести информацию о странице FB
  • Можем ли мы пригласить людей использовать наше приложение или отправить запрос друга из приложения через Facebook в iOS 5?
  • Как получить счет с использованием графического API
  • Токены доступа к странице Facebook - истекают ли они?
  • Приложение ссылается на непубличные селекторы в Payload / .app / : декодер
  • как получить идентификатор электронной почты из facebook sdk в приложениях для Android?
  • Давайте будем гением компьютера.