Laravel连接Google Drive触发dailyLimitExceededUnreg 403错误如何解决
错误产生原因
该403报错的核心是Google Drive API请求未携带有效身份凭证,被Google判定为匿名未认证请求:
- 匿名调用Google Drive API的单日请求配额极低,短时间内多次调用就会触发配额耗尽规则,对应错误码
dailyLimitExceededUnreg - 本质是你的Laravel项目中Google Drive存储磁盘的身份认证配置缺失/有误,所有发往Google的请求都没有带合法的身份标识
修复步骤
1. 确认依赖安装
首先确保你已经安装了适配Laravel的Google Drive存储适配器,执行命令:composer require masbug/flysystem-google-drive-ext
Laravel 9及以上版本需要选择对应版本的适配包,避免版本冲突。
2. 配置Google API凭证
- 打开Google Cloud控制台,启用Google Drive API
- 创建服务账号密钥,生成JSON格式的凭证文件,保存到项目
storage/app目录下,不要提交到公共版本库 - 进入你要访问的Google Drive目标文件夹,把服务账号的邮箱地址添加为文件夹协作者,权限根据业务需求设置为「查看者」或「编辑者」
3. 调整Laravel配置
打开config/filesystems.php,在disks数组中新增Google Drive配置项:
'google' => [ 'driver' => 'google', 'folderId' => env('GOOGLE_DRIVE_FOLDER_ID'), // 目标文件夹ID,对应Drive文件夹URL的后缀参数 'serviceAccount' => storage_path('app/你的服务账号凭证文件名.json'), ],
在项目.env文件中补充GOOGLE_DRIVE_FOLDER_ID的对应值即可。
4. 生效配置
清空Laravel配置缓存后测试:php artisan config:clear
重新运行你原有业务代码即可正常获取指定文件夹下的文件列表。
内容的提问来源于stack exchange,提问作者Nghiem Hung
相关产品推荐
相关产品推荐

