Sharex: Youtube upload video Status code: (403) Forbidden

Created on 6 Nov 2019  Â·  18Comments  Â·  Source: ShareX/ShareX

`Error message:
The remote server returned an error: (403) Forbidden.

Request URL:
https://www.googleapis.com/upload/youtube/v3/videos?part=id,snippet,status

Status code:
(403) Forbidden

Headers:
X-GUploader-UploadID: AEnB2UqWVf2TCk8EQPDOFv4A1TRqy5BSB8OQQF6qoD0pvdziY6m8mQnZ-2iU3sD8gHfPVi8jOPzkLjCCw17FpkiIwMG-FzuO6w
Vary: Origin,X-Origin
Alt-Svc: quic=":443"; ma=2592000; v="46,43",h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000
Content-Length: 437
Content-Type: application/json; charset=UTF-8
Date: Wed, 06 Nov 2019 09:27:24 GMT
Server: UploadServer

Response text:
{
"error": {
"errors": [
{
"domain": "youtube.quota",
"reason": "quotaExceeded",
"message": "The request cannot be completed because you have exceeded your \u003ca href=\"/youtube/v3/getting-started#quota\"\u003equota\u003c/a\u003e."
}
],
"code": 403,
"message": "The request cannot be completed because you have exceeded your \u003ca href=\"/youtube/v3/getting-started#quota\"\u003equota\u003c/a\u003e."
}
}

Stack trace:
at System.Net.HttpWebRequest.GetResponse()
at ShareX.UploadersLib.Uploader.SendRequestFile(String url, Stream data, String fileName, String fileFormName, Dictionary2 args, NameValueCollection headers, CookieCollection cookies, HttpMethod method, String contentType, String relatedData)

Enhancement

Most helpful comment

Google finally accepted my quota increase request.

All 18 comments

The request cannot be completed because you have exceeded your quota.

It says this in error, did you upload multiple videos?

Nope, It first today

image
I changed 2 accounts, the problem remained.
LogFile → https://pastebin.com/RswcePLt

Our API key reached quota limit looks like.

I requested YouTube quota increase from Google and awaiting their response.

@Jaex i'm wondering can this not be designed such that the api key is per "user"

ie. as a user I'm asked to create a project and use its API key instead of 1 common key for all ShareX users?

Just wondering...

Google replied to my request:

Over the last 90 days, the peak daily quota usage that your API Project used to access/use YouTube Data API Service was 282304 quota points per day. Based on this, your quota has been adjusted to 300000 quota points per day. Please note, this is higher than your peak historical usage in the last 90 days.

So we had 300k limit already which we reached yesterday and they increase our quota to 300k limit. Which means limit not changed at all. They must be trolling or something... And I can't reply to their email. So no way for me to tell this to them.

As @deepesharora said, a solution could be to allow the user to enter their own API Key to the application. That way, those with higher needs can do it on their own while the majority of the user base is still using the ShareX API Key.

Maybe even consider just getting a 2nd account as a backup?

Again API key reached quota :((((
Maybe you can do something? @Jaex
Problem repeats every day...
An alternative.

What can I do??? All alternatives suggested here are bad idea.
It is up to Google to accept my quota increase request.

Can we help with something?

In my last contact 8 days ago Google replied with:

Thanks for your response. We will conduct our audit based on the information you provided. We will notify you if additional information is needed or when we’ve completed our review.

So I'm still waiting.

Perhaps you can try to explain why allowing the user to add their own Youtube API Key is a bad idea? There are other applications doing this for other Google services. One example is drive (https://github.com/odeke-em/drive).

Because it only solves your own personal problem, other people still gonna get that error. So solution should work for everyone not specific person. Also it is not what service providers want, they want applications to use those API keys not users. So making fake app to create API key for each user is not ideal, it is abusing the service which can cause them to block our application API key. If their intention was every user making fake app to bypass limitations then they wouldn't introduce quota system at all. So I'm against of abusing the services. Are you really need explanation for this?

Are you really need explanation for this?

I think it is good practice to give an explanation when you dismiss an idea (especially when there are applications developed by Google employees making use of the idea). I don't think this is an abuse in any way. Are there any official documents from Youtube/Google classifying this as abuse?

I had this issue, I can now upload videos with no issues.

Edit: issue is here again

Google finally accepted my quota increase request.

Was this page helpful?
0 / 5 - 0 ratings