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

如何在CodeIgniter中上传视频至YouTube?授权报错求助

解决CodeIgniter YouTube上传库的授权错误问题

我之前也碰到过类似的授权卡壳问题,咱们一步步来排查解决:

1. 确认Google API凭据配置准确

首先得把Google Cloud Console里的OAuth 2.0凭据配置对:

  • 登录Google Cloud Console,找到你的项目,进入「API和服务」→「凭据」
  • 创建「OAuth客户端ID」,应用类型选「Web应用」,重定向URI必须和库中配置的完全一致(比如你的项目回调URL:http://你的域名.com/youtube/auth_callback)
  • 把生成的client_id、client_secret精准填入库的配置文件(一般是config/youtube.php这类文件)

2. 走完整的授权流程

这个库的逻辑是必须先完成授权,才能调用上传接口:

  • 先访问授权入口(比如控制器里的auth方法),不能直接跳去上传
  • 访问授权URL后,会跳转Google登录页,登录并授权你的应用,完成后会回调到项目里存储token
  • 跳过这一步直接上传,必然会触发「You need to authorize access before proceeding.」的错误

3. 验证Token存储是否正常

库通常会把授权后的access token和refresh token存在session或数据库里:

  • 检查CodeIgniter的session配置是否正常,确保能存储数据
  • 如果用数据库存token,确认对应的数据表已创建且有读写权限
  • 可以在回调方法里打印返回的token,看看是否成功获取到了有效内容

4. 规范代码调用顺序

确保你的代码调用逻辑是正确的:

// 先触发授权(首次访问时调用)
public function auth() {
    $this->load->library('youtube');
    $this->youtube->auth();
}

// 授权完成后再执行上传
public function upload_video() {
    $this->load->library('youtube');
    // 先检查是否已授权
    if (!$this->youtube->get_access_token()) {
        redirect('youtube/auth'); // 未授权就跳去授权页
    }
    // 执行上传逻辑
    $upload_response = $this->youtube->upload_video($视频路径, $视频标题, $视频描述);
}

5. 确认YouTube Data API已启用

别忘在Google Cloud Console里开启「YouTube Data API v3」:

  • 进入「API和服务」→「库」,搜索YouTube Data API v3,点击启用

如果以上步骤都检查过还是有问题,可以试试清除浏览器缓存和项目session,重新走一遍授权流程,有时候缓存的旧token会导致异常。

内容的提问来源于stack exchange,提问作者user3775412

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 06:39:25