我正在使用 Google Cloud Console Youtube API V3 并尝试列出我自己视频的评论线程。
我尝试了不同的范围,例如 YoutubeScope 和 YoutubeReadOnlyScope 但没有任何变化。我再次遇到这个问题:
googleapi: Error 403: Request had insufficient authentication scopes. Details: [ { "@type": "type.googleapis.com/google.rpc.ErrorInfo", "domain": "googleapis.com", "metadata": { "method": "youtube.api.v3.V3DataCommentThreadService.List", "service": "youtube.googleapis.com" }, "reason": "ACCESS_TOKEN_SCOPE_INSUFFICIENT" } ]
func listComments(service *youtube.Service, videoId string) error {
call := service.CommentThreads.List([]string{"id"}).VideoId(videoId).TextFormat("plainText")
response, err := call.Do()
if err != nil {
return err
}
fmt.Println(response)
return nil
}
err = listComments(service, "p1H22env11s")
if err != nil {
log.Fatalf("Error listing comments: %v", err)
}
如果没有看到代码的授权块,就很难查明确切的问题。但是,该错误表明身份验证范围不足。如果您的用例是列出评论,我建议您使用正确的范围,即
https://www.googleapis.com/auth/youtube.force-ssl
。添加范围后,删除 token.json 文件(或保存生成的令牌的位置)。该文件包含之前生成的令牌,但缺少必要的范围。删除它将强制应用程序请求具有更新范围的新令牌。最后,重新运行您的程序以生成并使用新令牌。
供您参考:google_youtube_api