0

我用注册表建立了一个移动网站。此注册表单将使用 API。以下是他们提供的文档的一部分。

我不知道从哪里开始。但是我可以在这上面使用 PHP 吗?你有任何关于如何做到这一点的资料或步骤吗?

公司 ABC = 客户

客户端遵循具象状态传输 (REST) 标准,允许使用一组标准的 GET、POST、PUT、DELETE HTTP 请求创建、修改和提取资源。与客户端的通信遵循 REST 架构约束,包括无状态和可缓存。

所有请求都通过 SSL 执行。所有响应都作为 JSON 对象返回。

API 认证

客户端的 REST API 使用广泛使用的 Amazon 标准进行身份验证。使用成员服务进行身份验证需要附加到身份验证标头的签名字符串。

签署请求所需的数据

● 日期格式如下:“Mon Jan 01 HH:MM:SS GMT 2013”​​ ○ 您还需要将此确切的日期字符串作为日期标题

● HTTP 方法(GET、POST、PUT、DELETE..)

● 如果 HTTP 方法不是 POST 或 PUT,则正文 NULL。这是发送到服务器的数据。

● PATH 主机后面的请求路径 例如:/Members/01kjhkjh789abcdef01234567 ○ 需要前缀斜杠。○ 尾部斜线将导致授权失败。

■ 在本文档中,ID 为 kjhkh75hgkuyf56465r65465564

■ 在本文档中,Secret 为 75456464674676746547fhgv2tcoygvhgvrUcTVD5GvYimli

客户会员

构建签名的请求

  1. 如果存在 Body,请对其执行 MD5 操作。

  2. 构建要签名的字符串:

    HTTP_METHOD + “\n” + BODY_MD5 + “\n” + 日期 + “\n” + 路径

    一些例子:

    一个。“GET Mon Jan 01 HH:MM:SS GMT 2013 /Members/0123456789abcdef01234567”</p>

    湾。“发布 e9d263d07a1533984e80ef808bd4efff Mon Jan 01 HH:MM:SS GMT 2013 /Members”</p>

    C。“PUT 96db961798e74718065e7a06d6d14110 Mon Jan 01 HH:MM:SS GMT 2013 /Members/012mnb3456789abcdebmbmnbf01234567”</p>

  3. 对刚刚构建的字符串执行 hashhmac/sha1 散列操作。一个。它的输出应该是二进制/原始而不是十六进制。

  4. Base64 编码散列字符串。

  5. 授权方案的标识符前缀如下:“CLIENT” + API_ID + “:”</p>

一个。如果您的 API_ID 为“606e1a”,您的标识符将为“CLIENT 606e1a:”示例

○ 对于上面的 GET 示例,输出将是:

客户 lkmmklmlmlkm06e1a:l6PxyV73V226mklmklmkklB2XvaBsoWaE++Fo=

○ 对于上面的 POST 示例,输出将是:

客户 klmlkmklmklmklm6e1a:FnSfYYxU+RTJlmlmlmlknSr/48yLYgk1eQ0=

○ 对于上面的 PUT 示例,输出将是:

客户 lkmlkmklmlkm1a:ahByLYh9Wc3yhlmklmlm1F+N9ilkmlmkmLFA7B12w=

4

1 回答 1

0

我将首先使用 FF Poster(例如)来使用/了解 API,以及您应该如何调用它们并使用它们的响应。

就调用 API 的技术而言……您当前的应用程序堆栈是什么?如果是 php,看起来不错 - 或谷歌“php rest 客户端”。我使用过 Java REST 客户端,例如 jersey 和 resteasy。

于 2013-06-24T10:26:58.373 回答