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

如何使用Python获取ArcGIS Online文件夹中的所有项目?

获取ArcGIS Online文件夹中所有项目的正确Python方法

你之前的代码存在两个核心问题:

  1. content.search用folderid作为查询参数是无效的,ArcGIS Online的搜索接口不支持该参数,因此无法返回正确结果。
  2. content.get(source_folder_id)是用于获取单个ArcGIS项目(如地图、图层)的方法,而非获取文件夹内的项目列表。

正确实现步骤

首先确保已完成ArcGIS Online的认证连接:

from arcgis.gis import GIS

# 替换为你的账号信息,也可使用其他认证方式(如API密钥)
gis_online = GIS("https://www.arcgis.com", "你的用户名", "你的密码")

方式1:通过文件夹ID获取项目

# 获取当前登录用户的所有文件夹
current_user = gis_online.users.me
# 根据文件夹ID筛选目标文件夹
target_folder = next((folder for folder in current_user.folders if folder['id'] == source_folder_id), None)

if target_folder:
    # 获取该文件夹下的所有项目
    folder_items = gis_online.content.items(folder=target_folder)
    # 遍历输出项目信息(可根据需求调整)
    for item in folder_items:
        print(f"项目标题: {item.title}, 项目ID: {item.id}, 项目类型: {item.type}")
else:
    print(f"未找到ID为 {source_folder_id} 的文件夹")

方式2:通过文件夹名称获取项目

如果不知道文件夹ID,也可以通过名称查找:

target_folder = next((folder for folder in current_user.folders if folder['title'] == "目标文件夹名称"), None)
# 后续获取项目的逻辑与方式1一致

关键说明

  • ArcGIS Online中的文件夹不属于项目范畴,不能用content.get()直接获取,必须通过用户的folders属性获取文件夹对象。
  • 使用content.items(folder=文件夹对象)方法才能正确返回指定文件夹下的所有项目集合。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 22:03:20