sendgrid / php-http-client
简化版的 PHP HTTP 客户端
Requires
- php: >=7.3
- ext-curl: *
- ext-json: *
- ext-mbstring: *
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.16
- phpunit/phpunit: ^9
- squizlabs/php_codesniffer: ~2.0
Suggests
- composer/ca-bundle: Including this library will ensure that a valid CA bundle is available for secure connections
This package is auto-updated.
Last update: 2024-08-30 01:25:57 UTC
README
快速轻松访问任何 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-client 和 sendgrid-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 指南以获取详细信息。
快速链接
感谢
我们受到了在 birdy 和 universalclient 上所做的工作的启发。
关于
php-http-client 由 Twilio SendGrid,Inc 维护和资助。php-http-client 的名称和标志是 Twilio SendGrid,Inc 的商标。
# 支持如果您需要使用 SendGrid 的帮助,请查看 Twilio SendGrid 支持帮助中心。