YouTube 실시간 채팅에 대한 모든 의견을 얻으려고합니다. Unity에서 내 클라이언트와 함께 WWW
요청으로 성공적으로 가져 왔습니다. YouTube API는 nextPageToken = {RANDOM_TOKEN}
을 제공하며 첫 페이지에 75 개의 댓글 만 표시하므로 다음 페이지의 결과를 얻으실 수 있습니다.YouTube 실시간 채팅 API 및 pollingIntervalMillis
내 고객은 nextPageTokens가 제공되는 모든 페이지를 검토하고 모든 주석을 가져 와서 로컬에 저장합니다. 유튜브가 012 초 17 초에 정의 된 10 초마다 API 요청 만 허용하는 것처럼 보입니다. 다음 페이지의 의견을 얻으려면 10 초를 반복해서 기다려야합니다. 그렇지 않으면 오류 rateLimitExceeded
이 표시됩니다.
브라우저 (Safari)에서 HTTP 요청을 탐색 할 때 문제가 발생하지 않으며 원하는만큼 빠르게 (다른 모든 페이지까지) 원하는 모든 요청을 할 수 있습니다.
매 10 초마다 모든 페이지의 모든 의견을 빠르게 얻을 수있는 방법이 있습니까? 500 개의 댓글과 75 개의 댓글이 모든 페이지에있는 경우 모든 댓글을 보려면 약 1 분 정도 기다려야합니다. 좀 이상하게 보입니다. 가능성이 있어야합니다.
너희들이 나를 여기에 도울 수 :업데이트 1 를 내 요청에 사용자 에이전트를 추가 할 수있는 사용자의 도움으로 희망, 지금 내 요청은 다음과 같습니다
Dictionary<string, string> headers = new Dictionary<string, string>();
headers.Add("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Safari/602.1.50");
WWW www = new WWW(url_2, new byte[] {(byte) 0}, headers);
StartCoroutine(WaitForRequest(www));
요청이 작동하지만 이제 401 Unauthorized 오류가 발생합니다. API 웹 사이트를 다시 확인했는데 오류 번호 401은 liveChatMessages list
에 포함 된 가능한 오류에 나열되지 않았습니다. 필요한 경우는 liveChatId
과 API 액세스 키입니다. 둘 다 가지고 있지만 로그인이 필요하지 않아야합니다. 내 코드는 다음과 같은 경우
WWW www = new WWW(url_2);
StartCoroutine(WaitForRequest(www));
나는 결과를 얻고있다, 그러나 이것은 내 원래의 코드, 그래서 나는 나의 다음 요청까지 10 초 기다려야 할 것입니다. 어떤 도움이 필요합니까?
나는 pollingIntervalMillis
스트림이 실제로 살고있는 및 주석의 양이오고에 따라 것을 발견 2 업데이트. 내 스트림 내가 온라인에서 스트림을 시작했을 때 내 pollingIntervalMillis
이 10000 에 있었다 오프라인 상태 내 pollingIntervalMillis
은 6000이었습니다. 전체 채팅을 스팸하면서 내 pollingIntervalMillis
은 약 1000으로갔습니다. 스트림이 라이브 일 때 새로 고침 빈도가 많이 떨어지므로 내 초기 문제는 더 이상 실제 문제가 아닙니다. 채팅이 활성 상태입니다.
어쩌면이 게시물은 다른 사람들을 도울 수 있습니다!