您在此处:
使用元数据 API,批量移动报表或仪表板
在 Lightning Experience 中,报表或仪表板可在文件夹和子文件夹之间移动。若要批量移动报表或仪表板,使用元数据 API。
例如,“一些弃用旧项文件夹”文件夹包含两个报表:我的客户报表和我的业务机会报表。“我的客户报表”需要移到名为“客户”的新文件夹,“我的业务机会报表”需要移到新“业务机会”文件夹。
此示例使用报表和仪表板 REST API,获取待移动报表的详细信息,并使用元数据 API 移动报表。(相同流程适用于仪表板。)Postman 或 cURL 可用于调用报表和仪表板 REST API。适用于 Visual Studio Code 的 Salesforce 扩展或 Salesforce CLI 可用于执行元数据 API。使用 force.com ANT 迁移工具,执行类似过程。
- 使用报表和仪表板 REST API 报表资源补丁方法,获取报表列表。
- 搜索列表,获取待移动报表的开发人员姓名,以及报表所在文件夹的 ID。
- 使用文件夹操作 GET 方法,使用文件夹 ID 获取文件夹的开发人员姓名。
-
使用文件夹和文件开发人员姓名作为成员,创建
package.xml清单。<?xml version="1.0" encoding="UTF-8"?> <Package xmlns="http://soap.sforce.com/2006/04/metadata"> <types> <name>Report</name> <members>Some_Old_Deprecated_Folder/My_Accounts_Report_eQ</members> <members>Some_Old_Deprecated_Folder/My_Opty_Report_CO</members> </types> <version>43.0</version> </Package> -
使用元数据 API
retrieve()调用检索包含报表的软件包。 -
解压缩软件包。
-
在解压的软件包中,创建全新的文件夹和文件结构。
-
在
package.xml文件清单中,更改文件夹结构,以匹配您在解压缩的软件包中所做的更改。<?xml version="1.0" encoding="UTF-8"?> <Package xmlns="http://soap.sforce.com/2006/04/metadata"> <types> <members>Accounts/My_Accounts_Report_eQ</members> <members>Opportunities/My_Opty_Report_CO</members> <name>Report</name> </types> <version>43.0</version> </Package> -
在 Lightning Experience 中新建文件夹。
-
创建部署的软件包。
借助名为 unpackaged 的解压软件包目录内容,此命令会创建 ZIP 文件。
zip -r move_reports.zip unpackaged/ -
使用元数据 API
deploy()调用,部署包含已移动报表的软件包。
移动操作完成。部分弃用旧项文件夹为空,可在 UI 中删除。

