2013-08-14 2 views
3

N이 5 분 이상 (기본값은 30 분) 인 모든 N 분마다 Facebook의 새로운 알림을 확인하는 Android 용 앱이 있습니다. 이 앱은 또한 페이스 북의 그래프 API에 대한 사용자 생성 요청을 생성한다. 최근에 (새로운 알림을 위해 예정된 폴링을 추가 한 이후로) 페이스 북에서 앱을 제한하기 시작했는데 오류 17 번은 대부분 사용자 요청 한도에 도달했지만 오류 4 번에는 '응용 프로그램 요청 한도 도달'이 표시됩니다. 통계 대시 보드는 다음과 같은 통계를 제공합니다. 매일 255,000 건의 요청과 432 명의 사용자가 있습니다. 이는 하루에 사용자 당 대략 590 건의 요청을 제공합니다. 이는 내가 찾은 API에 대한 언급 된 제한과는 거리가 멀습니다. IP 당 토큰 당 600 초당Facebook API - 사용자 토큰 당 요청 수가 적을 때 사용자 속도 제한에 도달했습니다.

  1. 600 전화 : 속도 제한에 대한 페이스 북의 정보가 정말 모호, 여기에 몇 가지 당신이 일반적으로 서로 다른 소스에서 찾을 수있는 숫자입니다.
  2. 앱 당 하루 100M 통화.
  3. 사용자 당 10,000 건의 통화가 하루에 토큰입니다.

우리의 응용 프로그램이 정기적으로 수행하는 예약 된 요청 간단한 FQL입니다 :

SELECT SENDER_ID, created_time 알림 FROM Title_Text로 WHERE recipient_id = 나() 및 is_hidden = 0 AND is_unread = 1

최소 업데이트 간격이 5 분인 경우에도 하루에 288 번 발사됩니다. 우리는이 요청을 Graph API 호출로 대체하려고 시도했지만 아무 것도 변경하지 않았습니다.

비슷한 기능을 가진 다른 앱이 있으며 이러한 제한이없는 것 같습니다.

합리적으로 낮은 통화량으로 Facebook에 의한 제한을 피할 수있는 방법이 있는지 알고 있습니까?

감사합니다.

답변

5

정말 재현하기 힘든 코드에 불쾌한 버그가 있음이 드러났습니다.이 버그는 앱이 반복적으로 10-30 분 동안 루프에서 API 요청을하도록 강요했습니다. 소수의 고객 만이 문제를 겪었지만 API 한도에 도달하는 것으로 충분했습니다.

FB API는 앱 사용자 수에 따라 제한을 계산하는 것으로 보입니다. 따라서 제한된 통화 량으로도 속도 제한 문제가있었습니다. 제한된 수의 사용자 만 많은 API 호출을 수행 했음에도 불구하고 FB는 모든 사용자를 제한했습니다.

그 정보가 어떻게 든 유사한 문제를 해결하는 데 도움이되기를 바랍니다.

관련 문제