지금까지 200 개 이상의 Google Analytics 계정으로 정보를 가져 왔습니다. 제한된 수의 계정으로 솔루션을 테스트했습니다 (단 10 개). 일단 모든 계정 ID를 논리에 입력하면 할당량 한도가 100 초당 100 개 요청됩니다..Google 애널리틱스 API | 100 초당 100 req의 할당량 한도 처리
foreach (var viewID in _viewIds)
{
foreach (var dateRange in dateRanges)
{
tTaskList.Add(Task.Run(async() =>
{
try
{ var tReports = await gc.PostAsyncTask(url, reportRequest);
foreach (var report in tReports.reports)
{
if (report != null)
{
//All report logic here
//(...)
bool hasNextPage = false;
do
{
//All pagination logic here
//(...)
}while(hasNextPage);
}
}
}
catch (Exception ex)
{
//Write in Log
var ex_message = Common.Utils.GetExceptionMessage(ex);
Logger.WriteConsoleLog(ex_message.MessageString, (int)Logger.Logs.ERROR, APIName, RequestID);
}
})
); //end add task
}
}
어떻게 요청 수를 제어 할 수 있습니까? 이러한 오류가 발생하지 않도록하려면?
그렇다면 이러한 큐 솔루션과 explonential backoff를 함께 사용하면 이러한 오류를 피할 수 있습니다. 말하자면 나는 그것들을 과감하게 줄 였지만, 여전히 하나 또는 그 이상의 오류가있다. 나는 그것들을 붙잡고 지수 적 백 오프를하고 다시 시도 할 수있다. – bmvr
그게 전부 일 뿐이에요. 실제로 시도해도됩니다. 나는 그저 내가 그토록 많은 것을 얻고 있다는 것을 알지 못했기 때문에 그들을 더 줄이기 위해 그 생각을 덧붙였다. Google은 실제로 실제로 구현을 권장합니다. 개발자 콘솔에서 보고서의 오류를보고 싶으면 그냥 의존하는 큐를 추가하지 않아도됩니다. – DaImTo