도움이 될 희망은 전체 세부 사항에 대한 https://developers.google.com/analytics/devguides/reporting/core/v3/limits-quotas 읽기 내가, 내가 설정 한 일 Request.MaxResult = 10000 Response.ItemsPerPage는 페이지 매김을 중요한 역할을 Request.StartIndex에 의해 재생이 = 10000하는 메커니즘 예 1 루프에서 1-10000 행을 얻고 10001-20000 .... 20001-30000 등등.
루프에서 특정 날짜의 데이터 요청은 Request.StartIndex = 1로 설정되고 행 수가 10000 번째 행에 도달하면 MaxResult + 1로 연속 증가합니다. 예 : Request.StartIndex = 1 then 10001 그런 다음 20001 .... 30001 ... 40001, Response.Rows == null이 될 때까지 계속됩니다.
여기 내 코드입니다 : -
StringBuilder sbrCSVData = new StringBuilder();
int intStartIndex = 1;
int intIndexCnt = 0;
int intMaxRecords = 10000;
AnalyticsService objAnaSrv = new AnalyticsService(objInit);
string metrics = "ga:visitors,ga:visits,ga:visitBounceRate,ga:pageviews,ga:pageviewsPerVisit,ga:uniquePageviews,ga:avgTimeOnPage,ga:exits,ga:avgPageLoadTime,ga:goal1ConversionRate";
DataResource.GaResource.GetRequest objRequest = objAnaSrv.Data.Ga.Get(strProfId, startDate,endDate, metrics);
objRequest.Dimensions = "ga:visitCount,ga:browser,ga:browserVersion,ga:IsMobile,ga:screenResolution,ga:date,ga:hour";
objRequest.MaxResults = 10000;
while (true)
{
objRequest.StartIndex = intStartIndex;
GaData objResponse = objRequest.Fetch();
objResponse.ItemsPerPage = intMaxRecords;
if (objResponse.Rows != null)
{
intIndexCnt++;
for (int intRows = 0; intRows < objResponse.Rows.Count; intRows++)
{
IList<string> lstRow = objResponse.Rows[intRows];
for (int intCols = 0; intCols <= lstRow.Count - 1; intCols++)
{
strRowData += lstRow[intCols].ToString() + "|";
}
strRowData = strRowData.Remove(strRowData.Length - 1, 1);
sbrCSVData.Append(strRowData + "\r\n");
strRowData = "";
}
intStartIndex = intIndexCnt * intMaxRecords + 1;
}
else break;
}
10K 기록의 한계는 웹에 여러 곳에서 찾을 수 있습니다. 이 한도에 도달하면 Google에 문의하는 것이 유용 할 수 있습니다. – CodeCaster
예, 예상됩니다. –