I'm writing this app right now and one of its components is using the LiveChatMessages resource's list method to retrieve all the live chats in a stream. My issue is not with the functionality itself, the youtube documentation was quite clear regarding this (hats off to the youtube engineers if you're reading this).
My question instead is regarding the quota system. In my journey to figuring this out, I went to the holy grail of youtube data API quotas first aka the documentation. It led me to this page:
https://developers.google.com/youtube/v3/determine_quota_cost
Now, this has the information for all the quota for various Youtube Data API resources except for the LiveChatMessages resource. Ironically, the text at the top says:
YouTube Live Streaming API methods are, technically, part of the YouTube Data API, and calls to those methods also incur quota costs. As such, API methods for live streaming are also listed in the table.
And yet the table does not even mention anything regarding the LiveStreaming API. Now, I kind of just glossed past this and from the context of all the other methods and assumed that it only incurred one quota.
I ran my app on a mid-scale stream of around 500 viewers at the time and the quota ran out in way less time than I expected. Now, I'm not sure whether I understood the quota cost correctly or the LiveChatMessages.list method had a completely different quota system.
But my app queried the LiveChatMessages.list method every 5 seconds. Which meant that it would incur 12 quota costs every minute, 720 quotas cost every hour. And since I had a quota limit of 10,000. I assumed it would be able to handle over 13 hours of live streaming without the quota capping out. But instead, it would only be about a few hours before the quota capped over.
Anyways hopefully a youtube engineer sees this and can tell me what the quota mechanics are like for the LiveChatMessages.list method because the documentation does not really mention it.
