2012-01-16 3 views
4

저는 iPhone에서 Fazzle app의 저자입니다. 내 앱이하는 일은 기본적으로 사용자 상태 업데이트를 다운로드하고 다양한 주문 (예 : 가장 좋아하는 댓글, 대부분 댓글 달기)으로 정렬하는 것입니다.Facebook Graph API는 2011 년 이전의 데이터를 제공하지 않습니다.

내가 페이스 북에 가입 한 날부터 페이스 북에 개발자가 사용자의 상태 업데이트를 제공 할 수 있는지 궁금해했다. 앱을 시작했을 때만 2009 년부터 사용자 상태를 얻을 수 있기 때문이다. 오늘 페이스 북 한계 그래프 API 호출 바로 2011 년 이후입니다.

나는 asked around here 문서를보고 포럼을 통해 Facebook에 연락했습니다. 그러나 지금까지 Graph API에서이 제한에 대한 언급이 없습니다. 내가 뭐 놓친 거 없니? 2011 년 이전에 상태 업데이트를위한 데이터를 얻을 수있는 다른 방법이 있습니까?

직접 테스트 할 수 있습니다. here. 이 GET 요청을 사용하십시오 :

https://graph.facebook.com/(your_user_id)/statuses?limit=99999 

아래로 스크롤하면 모든 것이 다운로드되지는 않습니다.

페이스 북 타임 라인과의 충돌로 인해 발생합니까? 그렇다면, 그것은 빤다.

here으로 기록됩니다. 아직도 누군가가 내 실수를 지적 할 수 있기를 바란다.

답변

10

그래프 API에서 이전 게시물을 가져올 수 있습니다. 한계는 없습니다 (최소한 내가 알고있는 것은 아닙니다). offset 대신, 다시 결과를 통해 페이지에 sinceuntil 매개 변수를 사용하여

쿼리 연결 : sinceuntil에 깊이있는 매우하지 않습니다

https://graph.facebook.com/me/feed?access_token=[token]&until=1165474447 

Documentation 페이징에 대한 연결 데이터를 필터링하고 페이징 할 수있는 몇 가지 유용한 매개 변수가 있습니다.

그러나 기본적으로 until이 날 때까지 게시주십시오 "라는 같다 이 날짜 "와 유사하므로"이 날짜 이후에 게시물을 제공하십시오. " 시간에 앞으로 이동합니다 최신와 created_timesinceuntil를 교체하고 오래된 예를

// pseudocode 
timestamp = now 
do { 
    posts = graph.get(/me/feed?until=timestamp) 
    if posts.length == 0: break; 
    // process posts 
    timestamp = posts[0].created_time // first should be the oldest, in theory 
} while (1) 

: 그래서 당신은이 같은 루프 뭔가를 사용하여 사용자의 피드를 통해 다시 모든 방법을 스크롤 할 수 있습니다마지막으로 사용자가 앱을 실행 한 이후의 새로운 소식을 가져 오는 것입니다.

+0

방금 ​​시도했습니다 : (my_id)/상태 및 이후 = 01 + January + 2009 and 747882379/statuses and since = 01-01-2009 그러나 둘 다 작동하지 않습니다. 그들은 빈 데이터 세트를 받았습니다. –

+1

주어진 날짜가'strtotime'으로 구문 분석 될 수 있는지 확인하십시오. 하 v 당신을 테스트하는 방법이지만 "2009 년 1 월 1 일"과 같은 형식을 사용 했으니까요. – chesles

+1

'/ me/status' 대신에'/ me/feed' 연결을 시도하십시오. – chesles

0

페이지 매김을해야합니다. 한도가 제한되어 있습니다. 읽어주세요 http://developers.facebook.com/blog/post/478/

+0

페이지 매김을 시도했습니다. 내 GET 요청 : (my_user_id)/status? limit = 20 & offset = 90. 그래도 2011 년 이전에는 아무것도주지 못합니다. –

+0

이상하게도 저와 비슷합니다. 2010-12-17T15 : 23 : 37 + 0000보다 오래된 것은 없습니다. Facebook에 버그로 로그인해야합니다. – DMCS

+0

이전에는 2009 년보다 나이가 들었습니다. 나는 Facebook이 http://developers.facebook.com/support/의 기술 도움말 리소스 중 하나로 나열되어 있기 때문에 Facebook이 stackoverflow를 모니터하기를 바랬습니다. –

2

페이스 북은 confirmed this as a bug부터 있습니다. Facebook의 버그 추적기를 계속 따라 간다면 불행히도 실제로이 문제를 해결할 가능성은 거의 없다는 것을 의미합니다.

+0

예. 이전에 몇 가지 버그가 있었지만,이 버그를 해결할 것으로 기대하고있었습니다. ( –

+0

매주 그들은 매주 수정하는 것보다 더 많은 버그를 받아들이거나 확인합니다. 실제로 버그를 수정하는 것은 그들의 개발자 파트너입니다 (예 : zyngas, spotify 등).) – bkaid

+0

OffBySome, 아마도 매우 사실 일 수 있습니다. 파트너가되는 동안 회사의 가치가있는 이유는 무엇입니까? – DMCS