API 概述
注意:有关 ShotGrid API 的详细信息,请参见我们的 API 文档。
借助 ShotGrid Python 应用程序编程接口 (API),用户可以轻松地将其工具与 ShotGrid 集成。通过它您可以创建自动化流程,集成众多第三方软件包,并与工作室内的现有工具进行通信。由于各个工作室的需求迥异,因此 ShotGrid API 提供了强大的基础功能,并将大部分业务逻辑都留给您自己来处理。
API 使用 Python 构建而成,Python 是传媒和娱乐行业广泛使用的常见编程语言。ShotGrid Python API 包含在您的 ShotGrid 站点中,可免费使用。
API 遵循 CRUD 模式,允许您的脚本对单个实体类型运行创建、读取、更新和删除操作。许多操作中都能够定义过滤器、要返回的列,以及对结果进行排序。
使用 Python API 设置环境概述视频
脚本密钥
为了通过 API 与 ShotGrid 服务器通信,您的脚本可以通过提供用户的凭据或利用脚本密钥向服务器进行身份认证。您可以从“脚本”(Scripts)页面(在“管理”(Admin)菜单中列出)生成新脚本密钥:
提示:单独注册脚本并让每个脚本具有各自的 API 密钥。这将有助于在事件日志中更准确地监视每个脚本和它们执行的操作。
个人访问代币 (PAT)
除了脚本密钥,您还需要设置个人访问代币 (PAT),以便与您的 ShotGrid 站点进行通信。请参考以下视频文档进行设置:
常用的第一个项目
您可以在 https://github.com/shotgunsoftware/python-api 下载 API。一些常用的第一个项目包括:
- 创建版本并将其链接到镜头。允许您自动提交新的渲染以供审核。
- 上传缩略图。无需手动添加,站点上的所有内容便可拥有最新的缩略图。
- 将 ShotGrid 与您的代码库(如 SVN)集成。利用 ShotGrid 对任何软件开发进行项目管理。
使用 API 无法完成的操作
- 访问或更改权限规则(出于安全原因)
- 读取或更改页面设置
- 访问各个页面或控件的过滤器或查询设置
- 与 UI 交互
- 添加、编辑或删除条件格式规则
- 创建或编辑查询字段
动作菜单项 (AMI)
如果要编写从 ShotGrid 界面中轻松启动的脚本,可以通过 AMI 来完成。这些是可自定义的选项,右键单击一行数据时,这些选项显示在上下文菜单中。单击后,它们将向 Web 服务器或自定义浏览器协议处理程序发送上下文数据转存,然后您可以在其中运行自定义业务逻辑。
可以为不同实体设置不同的 AMI,并按项目或权限组限制对它们的访问。
事件触发器进程
在 ShotGrid 中执行的每个操作(通过用户或 API 脚本)均会生成一个事件。事件进程可以监视事件流,然后基于定义的条件执行特定的 API 脚本。一些示例包括:
- 基于上游任务状态自动更改下游任务状态。
- 数值变化时重新计算相关剪辑镜头时长字段。
- 在镜头设置为特定状态时执行文件打包和传输操作。
其他信息
有关 ShotGrid API 的详细信息,请参见以下文章:
- 从 GitHub 下载 ShotGrid API
- ShotGrid API 文档
- ShotGrid 开发人员列表(公共)
- ShotGrid 事件进程示例代码
- 编写事件驱动的触发器
- ShotGrid 数据结构
- API 最佳实践
贡献和协作
您是否使用 ShotGrid 制造了令人为之惊叹的工具并希望与其他用户共享?太棒了!我们拥有一个充满活力、生机勃勃、喜欢彼此共享和协作的开发人员社区。参与社区活动:
- 加入 ShotGrid 社区。
- 将代码发布到 GitHub(确保代码不特定于工作流,记录详尽,并且具有 .txt 或 .mdk 格式的自述文件)。
- 向开发人员列表发布链接和说明。开发人员社区和 ShotGrid 开发人员将对其进行检查、提供反馈并予以表扬。
客户制作的工具和实现的集成总能为我们制造惊喜,并为我们提供了源源不断的创意灵感。快来展示您的实力吧!