iamserjo/php-http-client

HTTP REST 客户端,为 PHP 简化

3.10.6 2020-04-29 19:42 UTC

README

SendGrid Logo

Travis Badge Latest Version on Packagist Email Notifications Badge Twitter Follow GitHub contributors MIT licensed

快速轻松地访问任何 RESTful 或类似 RESTful 的 API。

如果您正在寻找 SendGrid API 客户端库,请参阅此存储库

公告

本库的所有更新均在我们的变更日志中有记录。

目录

安装

先决条件

  • PHP 版本 5.6, 7.0, 7.1, 7.2, 7.3 或 7.4

使用 Composer 安装

将 php-http-client 添加到您的 composer.json 文件。如果您没有使用Composer,您应该使用它。这是管理 PHP 应用程序依赖项的绝佳方式。

{
  "require": {
    "sendgrid/php-http-client": "^3.10.6"
  }
}

然后在您的 PHP 脚本顶部 require 自动加载器

require __DIR__ . '/vendor/autoload.php';

然后从命令行

composer install

不使用 Composer 安装

您应该在应用程序目录中创建一个 lib 目录,并将 php-http-clientsendgrid-php 存储库克隆到 lib 目录中。

$ cd /path/to/your/app
$ mkdir lib
$ cd lib
$ git clone https://github.com/sendgrid/php-http-client.git

在下一步中,您应该创建 loader.php

$ cd /path/to/your/app
$ touch loader.php

然后在 loader.php 中添加以下代码

<?php

require_once __DIR__ . '/lib/php-http-client/lib/Client.php';
require_once __DIR__ . '/lib/php-http-client/lib/Response.php';

之后,您可以在项目中使用 php-http-client

<?php

include __DIR__ . '/loader.php';

$client = new SendGrid\Client();

快速入门

以下是一个快速示例

GET /your/api/{param}/call

// include __DIR__ . '/loader.php';
require 'vendor/autoload.php';
$apiKey = YOUR_SENDGRID_API_KEY;
$authHeaders = [
    'Authorization: Bearer ' . $apiKey
];
$client = new SendGrid\Client('https://api.sendgrid.com', $authHeaders);
$param = 'foo';
$response = $client->your()->api()->_($param)->call()->get();

var_dump(
    $response->statusCode(),
    $response->headers(),
    $response->body()
);

POST /your/api/{param}/call,带有标题、查询参数和带版本控制的请求正文。

// include __DIR__ . '/loader.php';
require 'vendor/autoload.php';
$apiKey = YOUR_SENDGRID_API_KEY;
$authHeaders = [
    'Authorization: Bearer ' . $apiKey
];
$client = new SendGrid\Client('https://api.sendgrid.com', $authHeaders);
$queryParams = [
    'hello' => 0, 'world' => 1
];
$requestHeaders = [
    'X-Test' => 'test'
];
$data = [
    'some' => 1, 'awesome' => 2, 'data' => 3
];
$param = 'bar';
$response = $client->your()->api()->_($param)->call()->post($data, $queryParams, $requestHeaders);

var_dump(
    $response->statusCode(),
    $response->headers(),
    $response->body()
);

如果有请求问题,例如配置错误的 CURL SSL 选项,将抛出包含 CURL 失败原因的消息的 InvalidRequest 异常。将消息用作您环境故障排除步骤的线索。

用法

环境变量

您可以通过以下方式创建一个 .env 文件

cp .env_example .env

然后,只需将您的 API 密钥添加到您的 .env 文件中。

路线图

如果您对该项目的未来方向感兴趣,请查看我们的里程碑。我们非常乐意听到您的反馈。

如何贡献

我们鼓励为我们的库做出贡献,请参阅我们的贡献指南以获取详细信息。

快速链接

感谢

我们受到了birdyuniversalclient 的工作的启发。

关于

php-http-client 由 Twilio SendGrid,Inc 维护和资助。php-http-client 的名称和标志是 Twilio SendGrid,Inc 的商标。

如果您需要安装或使用此库的帮助,请检查Twilio SendGrid 支持帮助中心

如果您在库中发现了错误或希望添加新功能,请在此存储库中打开问题或拉取请求!

许可证

MIT 许可证 (MIT)