Earth Engine出现KeyError:'client_id'及403权限报错求助
问题解决指南
核心问题拆解
你遇到的两个错误是连锁的:首先403权限错误是根本原因(账号未注册Earth Engine或项目未授权),而**KeyError:'client_id'**是授权流程失败导致的衍生问题。
步骤1:解决Earth Engine权限问题
- 确认你的Google账号已完成Earth Engine注册:必须通过官方注册审核(个人账号需提交申请,1-2个工作日通过)
- 绑定GCP项目:注册通过后,在Earth Engine控制台将你新建的GCP项目与Earth Engine服务关联,确保项目拥有Earth Engine的访问权限
步骤2:修复授权流程(解决KeyError)
放弃Notebook内粘贴授权码的方式,改用命令行完成授权:
- 在终端(Colab环境则在代码单元格前加
!)执行:!earthengine authenticate - 按照提示打开授权链接,获取授权码后粘贴到终端完成验证
- 验证授权是否成功:运行以下代码测试
若能正常输出影像信息,说明授权成功import ee ee.Initialize() print(ee.Image("NASA/NASADEM_HGT/001").getInfo())
步骤3:适配项目代码
在创建ModisExporter实例前,手动添加Earth Engine初始化代码,确保授权生效:
import ee from pathlib import Path # 手动初始化Earth Engine ee.Initialize() yield_data_path='SOP_download/yield_data.csv' yield_data_path = Path(yield_data_path) exporter = ModisExporter(locations_filepath=yield_data_path) exporter.export_all()
额外检查项
- 确认
yield_data.csv文件路径正确,且文件包含项目要求的字段(如经纬度、年份、作物类型等) - 若在Colab运行,先安装所有依赖:
!pip install earthengine-api pycrop
内容的提问来源于stack exchange,提问作者viniwata1
相关产品推荐
相关产品推荐

