sendgrid/php-http-client

简化版的 PHP HTTP 客户端

4.1.1 2023-12-14 08:50 UTC

README

SendGrid Logo

Tests Latest Version on Packagist Twitter Follow GitHub contributors MIT licensed

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

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

公告

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

目录

安装

先决条件

  • PHP 版本 7.3, 7.4, 8.0 或 8.1

使用 Composer 安装

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

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

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

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 文件中。

如何贡献

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

快速链接

感谢

我们受到了在 birdyuniversalclient 上所做的工作的启发。

关于

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

# 支持

如果您需要使用 SendGrid 的帮助,请查看 Twilio SendGrid 支持帮助中心

许可证

MIT 许可证 (MIT)