You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用YouTube API V3调用CommentThreads.List接口时遭遇权限范围不足的403错误

YouTube API V3调用CommentThreads.List接口时遭遇权限范围不足的403错误

嘿,我之前也踩过这个一模一样的坑!咱们一步步来把这个问题解决掉:

首先,这个403错误的核心原因其实很明确:你当前用的OAuth令牌权限范围(scope)不够,没法调用CommentThreads.List接口。虽然你提到已经试过YoutubeScope和YoutubeReadOnlyScope,但大概率是两个细节没做好——要么是初始化服务时scope没传对,要么是旧的授权缓存没清,导致程序还在复用旧的权限令牌。

第一步:确认用对了权限范围

对于获取公开视频的评论(你的视频p1H22env11s是公开状态),其实YoutubeReadOnlyScope就完全够用了,它对应的权限URL是https://www.googleapis.com/auth/youtube.readonly。关键是要确保在初始化YouTube服务的时候,这个scope被正确传进去了。

比如你初始化服务的代码应该类似这样(你没贴这部分,我补个参考示例):

import (
    "context"
    "fmt"
    "os"
    "log"
    "golang.org/x/oauth2/google"
    "google.golang.org/api/youtube/v3"
    "google.golang.org/api/option"
)

func getYoutubeService() (*youtube.Service, error) {
    ctx := context.Background()
    // 读取你的OAuth凭证文件(一般叫credentials.json)
    b, err := os.ReadFile("credentials.json")
    if err != nil {
        return nil, fmt.Errorf("读取凭证文件失败: %v", err)
    }

    // 这里必须传入正确的scope!
    config, err := google.ConfigFromJSON(b, youtube.YoutubeReadOnlyScope)
    if err != nil {
        return nil, fmt.Errorf("解析凭证文件出错: %v", err)
    }
    // 这里假设你有getClient函数处理令牌的缓存和刷新
    client := getClient(config)

    service, err := youtube.NewService(ctx, option.WithHTTPClient(client))
    if err != nil {
        return nil, fmt.Errorf("创建YouTube服务实例失败: %v", err)
    }

    return service, nil
}

第二步:删掉旧的授权缓存(重点!)

这是很多人容易忽略的点!如果你之前用其他scope生成过授权令牌,程序会把令牌缓存到本地(一般是个叫token.json的文件)。哪怕你现在改对了scope,程序还是会优先用旧的令牌,自然会报权限不足。

解决方法很简单:直接删掉本地的token.json文件,然后重新运行程序,跟着提示重新完成一次授权流程——新生成的令牌就会带上正确的权限范围了。

第三步:优化你的CommentThreads.List调用(非必须但实用)

虽然这不是权限问题,但你当前的代码只请求了id字段,返回的结果基本没什么实际价值。建议把请求字段改成[]string{"id", "snippet"},这样能拿到评论的实际内容、作者信息这些有用的数据:

call := service.CommentThreads.List([]string{"id", "snippet"}).VideoId(videoId).TextFormat("plainText")

额外检查项

如果你的视频是私有/未公开状态,那YoutubeReadOnlyScope就不够用了,得用更高级的YoutubeScope(https://www.googleapis.com/auth/youtube),不过看你的视频ID应该是公开的,这个大概率不是问题。

按照上面的步骤改完,再跑代码应该就能正常拉取评论了!

备注:内容来源于stack exchange,提问作者Akbarshoh Ismoilov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 08:34:33