GEE python登录重大更新——初始化过程中需要录入具体的项目名称
最近GEE python进行了更新,因此原始的登录代码将无法使用,所以这里我们看一下通常会报出的错误,这里需要我们将我们运行的projection具体的名称写入进去,也就是GEE中你再JavaScript界面中运行的项目名称,相较与之前我们需要进行验证码的copy,这里直接可以通过项目的写入来代替原有的验证码的验证,整体上更加方便了。
原始代码:
错误:
WARNING:googleapiclient.http:Encountered 403 Forbidden with reason "PERMISSION_DENIED"
---------------------------------------------------------------------------
HttpError Traceback (most recent call last)
/usr/local/lib/python3.10/dist-packages/ee/data.py in _execute_cloud_call(call, num_retries)
382 try:
--> 383 return call.execute(num_retries=num_retries)
384 except googleapiclient.errors.HttpError as e:
7 frames
HttpError: <HttpError 403 when requesting https://earthengine.googleapis.com/v1/projects/earthengine-legacy/algorithms?prettyPrint=false&alt=json returned "Google Earth Engine API has not been used in project 522309567947 before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/earthengine.googleapis.com/overview?project=522309567947 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.". Details: "[{'@type': 'type.googleapis.com/google.rpc.Help', 'links': [{'description': 'Google developers console API activation', 'url': 'https://console.developers.google.com/apis/api/earthengine.googleapis.com/overview?project=522309567947'}]}, {'@type': 'type.googleapis.com/google.rpc.ErrorInfo', 'reason': 'SERVICE_DISABLED', 'domain': 'googleapis.com', 'metadata': {'consumer': 'projects/522309567947', 'service': 'earthengine.googleapis.com'}}]">
During handling of the above exception, another exception occurred:
EEException Traceback (most recent call last)
/usr/local/lib/python3.10/dist-packages/ee/data.py in _execute_cloud_call(call, num_retries)
383 return call.execute(num_retries=num_retries)
384 except googleapiclient.errors.HttpError as e:
--> 385 raise _translate_cloud_exception(e) # pylint: disable=raise-missing-from
386
387
EEException: Google Earth Engine API has not been used in project 522309567947 before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/earthengine.googleapis.com/overview?project=522309567947 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.
正确的做法:
这里我们要选择cloud project的中的名称放入到上面的引号当中即可
正确运行的结果
Python 命令行
在使用地球引擎 Python 客户端库之前,您需要进行身份验证(验证您的身份),并使用由此获得的凭据初始化 Python 客户端。身份验证流程使用云项目进行身份验证,它们既可用于无偿(免费、非商业)使用,也可用于有偿使用。
首先,它会为你的环境选择最佳的身份验证模式,并提示你确认脚本的访问权限。如果凭据已经存在,则会自动重复使用--运行 ee.Authenticate(force=True) 可创建新凭据。
初始化步骤会验证是否存在有效凭据,这些凭据可以是通过 ee.Authenticate() 创建的,也可以是预先存在的 Google 默认凭据。然后使用后端服务器支持的方法初始化 Python 客户端库。您需要提供一个自己拥有或有使用权限的项目,该项目也启用了地球引擎 API。该项目将用于运行地球引擎的所有操作。
在命令行中,相应的调用为 earthengine authenticate。使用 earthengine set_project {my-project} 为进一步调用提供一个项目。命令行调用将根据需要自动初始化。
- 点赞
- 收藏
- 关注作者
评论(0)