2016-11-23 2 views
0

유튜브 분석을 YouTube 대량 리포트로 진행하고 있습니다. https://developers.google.com/youtube/reporting/v1/reports/유튜브 리포트 API HttpError 429 FreeQuotaGroupCLIENT_PROJECT-100

모든 우리는 많은 사용자가있을 때, 우리는 I 100 초당 API 호출의 제한 번호가 알고 <HttpError 429 when requesting https://youtubereporting.googleapis.com/v1/media/CHANNEL/****/jobs/****/reports/***?alt=media returned "Insufficient tokens for quota group and limit 'FreeQuotaGroupCLIENT_PROJECT-100s' of service 'youtubereporting.googleapis.com', using the limit by ID '****'.">

가 발생 받아 잘 작동합니다.

FreeQuotaGroupCLIENT_PROJECT-100s을 보았으므로이 한도를 늘릴 수 있습니까? Paid Quota 또는 다른 것일 수 있습니다.

그렇지 않은 경우 폴백을 처리하는 가장 좋은 방법은 무엇입니까? 많은 병렬 프로세스가 있기 때문에 sleep 메소드를 사용할 수 없으며 다른 프로세스를 기다리지 않습니다.

감사합니다.

답변

1

429 status code은 사용자가 주어진 시간 내에 너무 많은 요청을 전송했음을 나타냅니다 ("속도 제한"). 한다고이 related SO post 확인 : 없는 오류있는 상태 (429)를 수신

를, 그것은 스팸 요청을 중지하십시오하라는 "친절하게"다른 서버입니다. 분명히 요청 비율이 너무 높아서 서버가이를 받아들이 려하지 않습니다.

IP를 속일려고하여 서버 보안 설정을 우회하려고하거나 너무 많은 요청을 보내지 않아도 서버 응답을 존중해야합니다.

모든 것이 올바르게 설정되면 429 응답과 함께 "재시도"헤더도 수신하게됩니다. 이 헤더는 다른 전화를 걸기 전에 대기해야하는 시간 (초)을 지정합니다. 이 "문제"를 다루는 적절한 방법은이 헤더를 읽고 그 초 동안 프로세스를 잠그는 것입니다.

검색 응답이 자주 변경되지 않습니다. 검색 응답을 로컬에서 캐시하거나 exponential back-off을 사용하여 다시 시도하십시오. 요청을 보내는 속도를 늦춰야합니다.