第三方API

Web API有时称为第三方API。 这就像交易中的当事人一样。 在我们的链接示例中,您(或者更具体地说,您的浏览器)是页面请求中的第一方。 Web服务器是第二方。 那么第三个呢?

网页通常包含来自其他主机或来源的内容或资源。 在这些情况下,当您的浏览器开始显示页面时,它会向托管这些资源的其他主机或“第三方”发出另一组请求。 这非常常见,尤其是对于视频或图像等媒体内容,以及在查看或使用数据时需要更新的数据。 获取当天的当前时间、当前天气或特定人员的个性化欢迎消息都是第三方API可以在正确时间提供正确资源的示例。 这些请求通常来自这些第三方API。

Web API的常见用法

除了时间、天气或个性化内容之外,Web API还有许多用途。 twitter、TikTok、Facebook、LinkedIn、Snapchat、Pinterest等社交媒体平台具有多种程序员可以在其应用程序中使用的API。 当然,Adobe还有多种程序员使用的API,以便他们的软件可以与Adobe产品和服务交互。 软件产品和服务通过这些API访问其他软件产品和服务。

示例API

浏览器API允许程序员直接与浏览器的功能交互。 电池API允许软件检查设备的电池状态,以便在需要时提醒您。 剪贴板API允许软件与设备的剪贴板一起复制或粘贴。 全屏API让软件可以选择将视图展开到设备的全屏,如YouTube。

Adobe Experience Platform数据访问API是一个Web API,它允许程序员从Adobe Experience Platform访问和下载数据集文件,以便他们可以在自己的程序中使用客户配置文件数据。 对于这样的API来说,作为软件自动化流程的一部分是很常见的,在软件自动化流程中,经过编程后,可使用多个API组合来执行一系列步骤。 与手动执行这些相同步骤相比,这通常可显着节省成本。

API端点

当程序员在程序中“使用”浏览器或Web API时,他们通常会请求发送或接收资源,例如我们的示例浏览器请求网页。 API文档通常会列出这些请求的“端点”,例如: https://platform.adobe.io/data/foundation/export/files/{dataSetFileId}。 这是程序员将用于获取数据集文件的Platform数据访问API的特定模式或“端点”。

由这些大括号括起来的{dataSetFileId}表示程序员在请求中需要发送的值。 因此,实际API请求中的URL类似于https://platform.adobe.io/data/foundation/export/files/xyz123brb,其中xyz123brb必须是程序员希望接收的数据集文件的有效ID。

换言之,就像浏览器通过特定URL获取页面、API请求从特定端点获取资源或向特定端点发送资源一样,此数据集示例如下。

HTTP请求方法

此时,应当清楚的是,Web API会请求网页或数据集等资源。 与大多数软件概念一样,这些HTTP请求遵循可重复的模式。 从软件应用程序向另一个软件应用程序发送请求,该应用程序评估该请求,然后作出响应:浏览器从Web服务器请求一个页面,并使用页面内容作出响应。

从请求到响应的整个过程涉及许多更小且非常详细的步骤,但请求方法却非常简单。 请求方法定义所请求的操作。

GET

在请求提供资源的响应(如我们的网页和数据集示例)时使用GET请求方法。 当我们单击浏览器中的链接或点按移动设备上的链接时,我们正在后台发出GET请求。

POST

POST方法随请求发送数据。 “请求”发送数据听起来可能很奇怪,但想法是,发出API请求需要端点(接收软件)接受请求,如果是POST,还要接受正在发送的数据。 发送的数据通常会像数据库或文件一样写入数据存储,以便进行保存。

PUT

PUT请求方法类似于POST,因为它发送数据,但如果正在发送的数据在端点已存在,则PUT将通过替换现有数据来更新现有数据。 POST不更新,只是发送,因此多个POST请求可以创建已发送数据的多个记录,而不是更新任何现有记录。

PATCH

PATCH请求方法用于发送更新部分现有记录的数据,例如,当我们通过更新帐户配置文件来更改地址时。 通过POST请求可以创建其他配置文件,通过PUT,可以替换现有配置文件,但通过使用PATCH方法,我们只需更新现有记录的相关部分,如我们的地址。

DELETE

DELETE请求方法会删除在请求中指定的资源,例如,如果我们单击链接以完全删除帐户配置文件。

还有其他几种方法,但以下是使用API时最常用方法的列表。

请求示例

现在,您已了解与API相关的基本术语、概念和步骤,我们可以查看实际的API请求示例。

浏览器示例中的页面的URL为https://business.adobe.com/products/experience-platform/adobe-experience-platform.html。 单击Adobe Experience Platform链接后,浏览器会对此页面发出GET请求。 由于我们有浏览器来为我们工作,因此我们只需单击,但如果程序员希望在软件应用程序中发生该请求,他们必须提供成功完成API请求所需的所有详细信息。

下面是代码中可能出现的形式:

fetch(
  "https://business.adobe.com/products/experience-platform/adobe-experience-platform.html",
  {
    headers: {
      accept:
        "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
      "accept-language": "en-US,en;q=0.9",
      "sec-ch-ua":
        '" Not A;Brand";v="99", "Chromium";v="101", "Microsoft Edge";v="101"',
      "sec-fetch-dest": "document",
      "sec-fetch-mode": "navigate",
      "sec-fetch-site": "none",
      "sec-fetch-user": "?1",
      "upgrade-insecure-requests": "1",
    },
    referrerPolicy: "strict-origin-when-cross-origin",
    body: null,
    method: "GET",
    mode: "cors",
    credentials: "include",
  }
);

在上面的代码中,您可以看到浏览器正在请求的URL,在底部附近向下是method: "GET"请求方法。 其他几行代码也是请求的一部分,但超出了本文的范围。

*[API]:应用程序编程接口
*[URL]:统一资源定位器
*[HTTP]:超文本传输协议
*[DNS]:域名系统

上一页概述
下一页网络研讨会

Data Collection