Skip to main content

I’ve use the “app extension ai” feature to create an extension that will create a new youtube comment on my youtube videos. 

Once i’ve connected my account etc… and then test I get this error:

{
"request": {
"method": "POST",
"url": "https://www.googleapis.com/youtube/v3/comments",
"querystring": {
"part": "snippet"
},
"headers": {
"content-type": "application/json"
},
"body": "{\"snippet\": {\"videoId\": \"iHUMAN FILTERED]\", \"parentId\": \"\", \"textOriginal\": \"hello\"}}",
"data": {
"snippet": {
"videoId": ""HUMAN FILTERED]",
"parentId": "",
"textOriginal": "hello"
}
}
},
"response": {
"status": 403,
"headers": {
"www-authenticate": ":censored:130:ceec02dff5:",
"vary": "Origin, X-Origin, Referer",
"content-type": "application/json; charset=UTF-8",
"content-encoding": "gzip",
"date": "Mon, 27 Nov 2023 12:35:26 GMT",
"server": "scaffolding on HTTPServer2",
"cache-control": "private",
"x-xss-protection": "0",
"x-frame-options": "SAMEORIGIN",
"x-content-type-options": "nosniff",
"alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000",
"transfer-encoding": "chunked"
},
"body": "{\n \"error\": {\n \"code\": 403, \n \"message\": \"Request had insufficient authentication scopes.\", \n \"errors\": \\n {\n \"message\": \"Insufficient Permission\", \n \"domain\": \"global\", \n \"reason\": \"insufficientPermissions\"\n }\n ], \n \"status\": \"PERMISSION_DENIED\", \n \"details\": "\n {\n \"@type\": \"type.googleapis.com/google.rpc.ErrorInfo\", \n \"reason\": \"ACCESS_TOKEN_SCOPE_INSUFFICIENT\", \n \"domain\": \"googleapis.com\", \n \"metadata\": {\n \"service\": \"youtube.googleapis.com\", \n \"method\": \"youtube.api.v3.V3DataCommentService.Insert\"\n }\n }\n ]\n }\n}",
"data": {
"error": {
"code": 403,
"message": "Request had insufficient authentication scopes.",
"errors":
{
"message": "Insufficient Permission",
"domain": "global",
"reason": "insufficientPermissions"
}
],
"status": "PERMISSION_DENIED",
"details":
{
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"reason": "ACCESS_TOKEN_SCOPE_INSUFFICIENT",
"domain": "googleapis.com",
"metadata": {
"service": "youtube.googleapis.com",
"method": "youtube.api.v3.V3DataCommentService.Insert"
}
}
]
}
}
}
}

The issue seems to be “Request had insufficient authentication scopes” so I added “https://www.googleapis.com/auth/youtube.force-ssl” to the scope section and still getting the same issue.

The error you're encountering, "Request had insufficient authentication scopes," indicates that the access token used in your request doesn't have the necessary permissions to perform the action you're trying to accomplish. In this case, it seems related to adding comments on YouTube videos.

You've already added the scope https://www.googleapis.com/auth/youtube.force-ssl, which is required for actions that involve posting data to YouTube, such as posting comments. However, if you're still encountering the same issue after adding this scope, here are a few steps to troubleshoot and resolve the problem:

1. Re-authenticate Your Application

After changing or adding scopes, you need to make sure that the OAuth consent flow is re-initiated and that the user grants permission again with the new scopes. This is necessary because the existing tokens do not automatically update with new permissions.

2. Verify the Scope

Ensure that the scope https://www.googleapis.com/auth/youtube.force-ssl is correctly added to your OAuth consent screen and your application is requesting it when initiating the OAuth flow. Double-check for typos or incorrect formatting.

3. Refresh the Access Token

If you're using a refresh token to obtain new access tokens, ensure that the new access token is being used in your requests after adding the new scope. Sometimes cached or old tokens might be used, leading to permissions errors.

4. Check API Enablement

Make sure that the YouTube Data API v3 is enabled in your Google Cloud project. Without this, even correctly scoped requests will fail.

5. Detailed Error Message

Look closely at the details provided in the error message and logs. Sometimes, they can give more specific information about what is missing or required.

6. Review the Official Documentation

Revisit Google's official documentation for the YouTube API, specifically for the comments.insert method, to ensure all prerequisites and parameters are correctly handled.

7. Test with API Explorer

Google provides an API Explorer that lets you make API requests interactively. Try using this tool to manually perform the comment post operation. It can help identify what might be missing or wrong in your application's requests.

Here is the link to Google's API Explorer for the YouTube Data API.


Reply