> This page is for Camera to Cloud.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://next.developer.frame.io/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://next.developer.frame.io/_mcp/server.

# 概念与基础知识

## 理解核心概念





C2C API 依赖于几项关键技术，在开始集成项目之前，您应该了解这些技术。 请查阅本文中的各个标题——如果有任何不熟悉的术语，本指南将帮助您填补这些知识空白。 如果您在特定概念方面遇到困难，我们的团队可以提供额外的资源和支持。





## 您需要了解的内容





要成功集成 C2C API，您应该对以下各项有基本了解：




<CardGroup cols={3}>
  
  
<Card icon="network-wired" title="网络连接">
  
    

TLS/SSL、TCP/IP 协议及网络基础知识


  
</Card>

<Card icon="globe" title="HTTPS">
  
    

安全 HTTPS 请求的实施


  
</Card>

<Card icon="shield" title="Auth">
  
    

身份验证和授权方法


  
</Card>

</CardGroup>


## 网络基础知识与词汇表





Frame.io API 的核心功能是实现 Frame.io 服务器与您的设备或应用程序之间的通信，因此每项操作都需要进行网络交互。





清晰的通信在任何关系中都至关重要，包括服务器与客户端之间的关系。 正如日常对话中会出现误解一样，计算机在交换信息时也存在类似的挑战。





除了解决标准的通信问题之外，我们还需要确保敏感数据的安全传输。 Frame.io 要求对所有服务器通信都进行加密，从而为该过程添加了必要的安全层。





在实施 C2C API 过程中，您可能会使用第三方库来处理网络方面的细节。 然而，由于网络组件经常会产生现实世界的错误，因此在与 Frame.io 服务器进行交互时，了解其底层处理流程还是很有价值的。 以下是关于基本术语的简明词汇表：




<CardGroup cols={2}>
  
  
<Card icon="network-wired" title="TCP/IP">
  传输控制协议/互联网协议 - 能够实现全球数据传输的标准化组件和网络层。 如需了解更多信息，我们推荐这个[易于理解的高阶资源](https://www.freecodecamp.org/news/what-is-tcp-ip-layers-and-protocols-explained/)。
</Card>

<Card icon="shield-halved" title="TLS/SSL">
  传输层安全/安全套接层 - 虽然技术上有所不同，但如今人们通常将它们互换使用。 TLS 代表了 SSL 的演进，但原来的缩写仍被广泛使用。 如需了解有关 TLS 的更多信息，请[查阅此概述](https://www.internetsociety.org/deploy360/tls/basics/)。
</Card>

</CardGroup>


### 公钥与私钥




公钥的作用就像一把锁，而私钥则相当于与之匹配的钥匙。





设想这样一个场景：您想向一位同事发送一条机密消息，并确保在送达之前保持私密。





首先，请您的同事给您寄来一把锁，这把锁只有他们自己有钥匙。





收到这把锁后，使用它将您的机密消息锁在一个容器中。 虽然任何经手该容器的人都能看到这把锁，但只有您的同事有钥匙来打开容器获取里面的内容。 对于试图查看消息的未经授权方来说，这把锁没有任何价值。 甚至您自己，如果没有钥匙，也无法打开它。





当您的同事收到这个安全容器时，他们只需用自己的钥匙就能打开并获取内容。





公钥和私钥的工作原理与此相同。 您可以广泛共享公钥。 收件人使用此公钥加密消息，但只有私钥持有者才能解密这些通信内容。 只要私钥保持机密，就无法使用公钥来解码由它所生成的加密消息。





这种公钥/私钥机制是 TLS 功能的基础，它允许通信各方在建立安全、私密通道的同时进行公开通信。





### 证书




证书包含公钥和私钥，并由受信任的证书颁发机构进行认证。





当证书颁发机构验证一个密钥时，它实质上是在为该密钥的真实性提供担保。 公钥的接收方（例如来自 Google 的公钥）可以验证该公钥是否获得了公认证书颁发机构的这种担保。 未经担保的密钥被视为可能存在欺诈风险，并会触发安全警报。





Frame.io 的证书由 Amazon Root CA 1 证书颁发机构进行验证。 这些证书可通过多种资源获取，包括 Certifi 库（由 Mozilla 和 Python Requests 库所使用）。

对于实施，我们推荐使用 Certifi [GitHub 存储库](https://github.com/certifi/python-certifi)和[证书 PEM 捆绑包](https://github.com/certifi/python-certifi/blob/master/certifi/cacert.pem)来验证对 api.frame.io 发起的 HTTPS 请求。
<CardGroup cols={2}>
  
  
<Card icon="server" title="服务器">
  
    

一台为其他计算机提供或存储信息的计算机。 当您通过 Web 浏览器访问 Frame.io 时，您的浏览器会向 Frame.io 的服务器请求内容，服务器则会相应地进行响应。 Frame.io 中的每项操作都会触发您的浏览器与我们服务器之间的通信，服务器会处理您的请求并返回相应的结果。 当您向 Frame.io 上传媒体文件时，就是在将该文件发送到我们的服务器上。


  
</Card>

<Card icon="laptop" title="客户端">
  
    

客户端应用程序向服务器请求信息，或向服务器发送数据。 在实施 C2C API 时，您将开发一个 C2C 客户端。


  
</Card>

</CardGroup>

<CardGroup cols={2}>
  
  
<Card icon="globe" title="HTTP/S">
  
    

超文本传输协议/安全协议 - 在 TCP/IP 模型的应用层内运行。 HTTP 和 HTTPS 之间的区别在于安全性——HTTPS 将 TLS/SSL 验证纳入网络通信中。 HTTP 经历了多个版本的演进，随着时间的推移建立了新的标准。 版本 1.1 仍然是全球标准，应该用于 Frame.io API 通信。


  
</Card>

<Card icon="code" title="RESTful API">
  
    

REST（表述性状态转移）是一种基于 HTTP 请求-响应模式来开发 API 的设计方法。 REST 通常作为使用 HTTP 进行程序间交互的通用方法的简写（区别于浏览器与网页之间的通信），即使 API 并未严格遵循 REST 原则。


  
</Card>

</CardGroup>

<CardGroup cols={2}>
  
  
<Card icon="file-code" title="JSON">
  
    

JavaScript 对象表示法 - 一种标准化的数据交换格式。 虽然最初是为 JavaScript 对象开发的，但它已成为网络通信的通用标准。 C2C API 以 JSON 数据的形式返回响应。


  
</Card>

<Card icon="cloud" title="AWS S3">
  
    

Amazon 的简单存储服务提供基于云的数据存储解决方案。 S3 存储 Frame.io 的视频和音频媒体文件，并作为集成上传的目标位置。


  
</Card>

</CardGroup>


## HTTP/S 请求





HTTP 在 Web 浏览中无处不在——几乎出现在每一个网站地址的开头。 HTTP（超文本传输协议）建立了标准化的计算机到计算机通信协议。





您可以将 HTTP 理解为客户端-服务器交互中的一种标准化表单系统，类似于政府要求填写用于信息请求或项目申请的表单。 如果没有正确填写的表单，政府机构就无法处理或回应这些请求。





HTTP 请求为所有 Frame.io 应用程序交互提供支持。 在 C2C API 框架中，HTTP 请求类型代表了可用的功能能力。

如需全面了解 HTTP，请参阅[这篇信息丰富的文章](https://www.freecodecamp.org/news/http-and-everything-you-need-to-know-about-it/)。 在继续之前，理解这些基础知识至关重要。 如果您刚接触 HTTP 请求，可以考虑先查阅一些入门资料。 为了做好最充分的准备，请熟悉以下 HTTP 概念：
<CardGroup cols={2}>
  
  
<Card icon="link" title="URL 组件">
  
    

* 协议


    

* 主机


    

* 端口


    

* 资源


  
</Card>

<Card icon="list" title="HTTP 元素">
  
    

* 标头


    

* 内容类型/MIME 类型


    

* 请求与响应负载


    

* HTTP 动词的应用：GET、POST、PUT、DELETE 等。


    

* 表单数据


  
</Card>

</CardGroup>
 虽然网络库通常负责处理请求构建，但 [HTTP/1.1 RFC](https://greenbytes.de/tech/webdav/rfc2616.html) 在需要时仍可作为参考资源。

## 身份验证和授权





我们稍后会更深入地探讨这些概念，但理解以下基本原则也很重要：




<CardGroup cols={2}>
  
  
<Card icon="key" title="身份验证">
  
    

身份验证用于确认请求是否确实来自其所声称的来源。 当您使用用户名/密码凭据登录网站时，您是在通过证明自己知晓密码来进行身份验证。 多重身份验证（例如通过短信接收验证码）代表额外的身份验证机制。


  
</Card>

<Card icon="user-shield" title="授权">
  
    

授权用于确认是否拥有执行特定操作的权限。 当您将协作者添加到 Frame.io 项目或 Google 文档中时，您就是在授予他们访问权限。 Frame.io 或 Google 事先已经验证了这些用户的身份，使您能够放心地授权他们参与。


  
</Card>

</CardGroup>

<CardGroup cols={2}>
  
  
<Card icon="lock" title="OAuth">
  
    

OAuth（开放授权）通过与第三方身份验证服务集成，为授权管理提供了一个标准化的框架。


  
</Card>

<Card icon="list-check" title="权限范围">
  权限范围定义了用户可以执行的授权操作。 将设备连接到 Frame.io 时，您会请求并接收特定的权限范围，用于授权特定的操作。 例如，`asset_create` 权限范围允许创建和上传资产。 从概念上讲，权限范围的功能类似于权限集。
</Card>

</CardGroup>


## 后续步骤





我们鼓励您就任何疑问联系我们的团队，然后继续阅读本指南的下一部分。 我们期待为您的集成工作提供支持。

有关技术概述，请参阅[集成架构指南](./integration-architecture)。 如果您还没有阅读，请在继续之前先查阅[实施 C2C：设置](./implementing-c2c-setting-up)指南。 您需要用到在[身份验证和授权流程](./implementing-c2c-authentication-and-authorization)中获取的 `access_token`。