Facebook (API) FQL을 사용하여 Newsfeed를 가져 오려고합니다. 페이지 결과에 시도에서 이전 날짜 선택 (Decerement by 1) 및 Unix TimeStamp로 변환
, 내가 처음 LIMIT를 사용하여 오프셋 매개 변수를 다음과 같이했다 :SELECT post_id,.... FROM stream WHERE filter_key in (SELECT filter_key FROM stream_filter WHERE uid = me() AND type = 'newsfeed') AND is_hidden = 0 LIMIT 20 OFFSET 0
을 그리고 때마다, 나는 ListView
의 끝을 명중, 나는 또 다른 쿼리를 실행하고 다음을 가져 오기 OFFSET을 +20 씩 증가시켜 피드 세트. , https://stackoverflow.com/a/13265776/450534
그러나, 문제는 LIMIT 및 매개 변수가 반드시 당신에게 모든 결과를 제공하지 않고에 대한 검색이 SO 페이스 북이 시간 제약을 사용하는 것이 좋습니다 것으로 나타났다 OFFSET :이 대답에서 논리를했다.
이제 피드를 매일 가져 오도록 코드를 수정해야합니다. 예를 들어 :
Initial Set Of Data - `created_time < 1355788800` (17th December)
Second Set Of Data - `created_time < 1355702400` (16th December)
Third Set Of Data - `created_time < 1355616000` (15th December)
.
.
.
.
유닉스 타임 스탬프로 현재 시간을 변환하는 솔루션을지고, 약간의 검색 후는 다음과 같이 이루어졌다 : 데이터의 모든 새로운 세트,
Date now = new Date();
long unixTime = new Long(now.getTime()/1000);
하지만, 어떻게 할 Date
을 1 씩 줄이십시오. 나는이 코드 조각 시도 :
Calendar newCal = Calendar.getInstance();
Calendar xDate = (Calendar) newCal.clone();
xDate.set(Calendar.DATE, -1);
System.out.println(xDate.getTime().toString());
을하지만 결과는 다음과 같습니다 Thu Nov 29 17:18:50 GMT+05:30 2012
내가 12 월 16 일이 될 것이라고 기대했다입니다 때. 어떤 도움을 주시면 감사하겠습니다.
감사합니다.