skiddle/skiddle-php-sdk

Skiddle API 的 PHP 封装器

v3.0.3 2024-01-17 11:24 UTC

This package is not auto-updated.

Last update: 2024-09-24 15:06:59 UTC


README

SDK 的目的是允许轻松访问 Skiddle API。这将使开发人员能够轻松与 Skiddle API 通信,以获取有关事件、艺术家和场所的信息。

目录

  1. 需求
  2. 安装
    1. 下载 SDK
    2. 获取 API 密钥
    3. 集成
  3. 示例
    1. 认证
    2. 准备类
    3. 添加和删除条件
    4. 获取结果
    5. 获取单个结果
  4. 注意事项
  5. 许可
  6. 联系方式

需求

API 需要 PHP > 5.4.0,因为使用了自动加载和新的数组结构。它还要求启用 cURL,这通常是 PHP 的默认设置,但最好还是检查一下。

要连接到 API,需要 TLS v1.2 或更高版本。自 1.0.1 版本以来,Curl 已通过 OpenSSL 支持此功能。

安装

下载 SDK

将 SDK 集成到项目中有很多种方法,最简单的方法可能是通过 composer。

"require": {
    "skiddle/skiddle-php-sdk": "1.0.0"
}

您也可以克隆 git 仓库

git clone https://github.com/Skiddle/skiddle-php-sdk

或者,直接在这里 下载 zip 文件 并解压缩到您的项目中。

如果使用后两种方法中的任何一种,您需要将 autoloader.php 文件包含到您的项目中,以加载所有内容。

获取 API 密钥

获取 API 密钥非常简单且免费,只需访问 https://www.skiddle.com/api/join.php 获取一个即可。

集成

一旦您有了代码和 API 密钥,就可以开始了!

示例

您可以在仓库中包含的 /demo/ 目录中查看代码示例。

认证

第一步是简单地认证自己 - 只需告诉 SDK 您的 API 密钥即可。

try {
    $session = new SkiddleSDK\SkiddleSession(['api_key'=>'APIKEYGOESHERE']);
} catch (SkiddleSDK\SkiddleException $e) {
    echo $e->getMessage();
    exit();
}

如果您不想将其存储在代码中,可以将其添加到服务器环境中的 SKIDDLE_API_KEY,SDK 将从那里读取。

准备类

在成功认证之后,您需要将凭证传递给您想要使用的相关类。这将结合您的认证信息和必要的端点来执行调用。

要这样做,只需调用您希望使用的类的 setSession() 方法即可。

$events = new SkiddleSDK\Events;
try {
    $events->setSession($session);
} catch (SkiddleSDK\SkiddleException $e) {
    echo $e->getMessage();
    exit();
}

添加和删除条件

现在您已经准备好对 API 进行调用。您现在可以技术上调用返回列表,但是 Skiddle SDK 允许您轻松添加或删除条件,使您的查询更符合您的需求。

要添加条件,只需在 addCond() 方法中传递字段和值即可。

$events->addCond('eventcode','CLUB');
$events->addCond('ticketsavailable','1);

同样,要删除条件,只需使用 delCond() 方法,只需使用字段名即可。

$events->delCond('ticketsavailable');

获取结果

一旦构建了您的过滤器列表,就可以获取您的列表了!

$listings = $events->getListings();

foreach($listings->results as $result) {...}

有关您可以通过哪些参数进行筛选的完整列表,请查看 这里

获取单个结果

如果您需要获取单个结果,可以调用 getListing(),无需构建参数数组 - 只需传递相关ID

例如

$listing = $events->getListing(12345);

var_dump($listing);

注意事项

  1. 在查询eventcodes时,尽量使用大写值。传递CLUB将有效,而传递club可能会返回错误
  2. 当使用minDate和maxDate条件时,时间戳需要以Y-m-dY-m-dTH:i:s格式。
  3. 不喜欢对象?您可以通过在getListings()中传递布尔值来以数组格式获取结果
    $listings = $events->getListings(true);
    
    foreach($listings['results'] as $result) {...}
  4. 敬请期待更多内容

许可证

此SDK受GNU通用公共许可证v3.0许可。 在此处查看许可证

联系

有任何问题或改进SDK的方法吗?请随时记录问题,或随意克隆和分支!