初始化USGS API实例失败,报错NOT_FOUND: Invalid Endpoint求助
初始化USGS API实例失败,报错NOT_FOUND: Invalid Endpoint求助
嘿,我来帮你捋捋这个问题!你碰到的NOT_FOUND: Invalid Endpoint错误,核心原因是你用的dataset-catalogs并不是landsatxplore库封装的USGS M2M API的有效端点。咱们可以从两个方向解决:
方法一:用库封装好的便捷方法(推荐)
landsatxplore其实已经给咱们提供了专门获取数据集目录的方法,完全不需要手动调用request方法折腾。直接用api.datasets()就能拿到结果,代码改成这样就行:
from landsatxplore.api import API import os # Your USGS credentials username = '<username>' password = '<password>' # Initialize a new API instance api = API(username, password) # 调用封装好的方法获取数据集目录 datasets = api.datasets() print(datasets)
这个方法是库官方维护的,兼容性更好,也不容易踩格式坑。
方法二:如果一定要用request方法,修正端点路径
要是你确实需要手动调用底层的request,那得用USGS M2M API的完整相对端点路径。正确的获取数据集目录的端点是/api/datasets/v1/catalogs,修改后的代码如下:
from landsatxplore.api import API import os # Your USGS credentials username = '<username>' password = '<password>' # Initialize a new API instance api = API(username, password) # 使用正确的端点路径 response = api.request(endpoint="/api/datasets/v1/catalogs") print(response)
要注意,landsatxplore的request方法要求端点必须是完整的相对路径(以/开头),不能用你之前那种简写的名称。
另外,你也可以看看landsatxplore 0.15.0版本的文档,确认它支持的所有端点格式,避免再踩类似的坑~
备注:内容来源于stack exchange,提问作者Federico
相关产品推荐
相关产品推荐

