ldubois/php-airtable

使用PHP操作Airtable API

0.9.1 2022-02-17 12:36 UTC

README

基本SDK,用于处理Airtable记录。在 armetiz/airtable-php 上进行分支。

安装

通过运行以下命令告诉Composer要求此包:

composer require ldubois/php-airtable

使用方法

$key   = "APP_KEY"; // Generated from : https://airtable.com/account
$base  = "BASE_ID"; // Find it on : https://airtable.com/api
$table = "TABLE_NAME"; // Find it on : https://airtable.com/api

$airtable = new Airtable($key, $base);

$records = $airtable->findRecords($table);

可用方法

  • Airtable::getBase()
  • Airtable::createTableManipulator(string $table): TableManipulator
  • Airtable::getRecord(string $table, string $id)
  • Airtable::createRecord(string $table, array $fields)
  • Airtable::setRecord(string $table, array $criteria = [], array $fields)
  • Airtable::updateRecord(string $table, array $criteria = [], array $fields)
  • Airtable::updateRecordById(string $table, string $id, array $fields)
  • Airtable::containsRecord(string $table, array $criteria = [])
  • Airtable::flushRecords(string $table)
  • Airtable::deleteRecord(string $table, array $criteria = [])
  • Airtable::deleteRecords(string $table, array $criteria = [])
  • Airtable::findRecord(string $table, array $criteria = [])
  • Airtable::findRecords(string $table, array $criteria = [])
  • Airtable::containsRecord(string $table, array $criteria = [])
  • Airtable::searchRecords(string $table, array $fields, string $search, string $criteria = "", string $view = "", int $maxRows = 5)

示例

简单的成员索引器,封装了简单的API中的Airtable。可用于在Airtable上启动CRM。

注意:由于Airtable不允许使用其公共API进行模式操作,您应使用以下WebUI配置表:

  • Id : 文本
  • Firstname : 文本
  • Lastname : 文本
  • Email : 电子邮件
  • CreatedAt : 日期和时间
  • Picture : 附件
$key   = "APP_KEY"; // Generated from : https://airtable.com/account
$base  = "BASE_ID"; // Find it on : https://airtable.com/api
$table = "TABLE_NAME"; // Find it on : https://airtable.com/api

$airtable = new Airtable($key, $base);

$records = $airtable->findRecords($table);
use Ldubois\AirtableSDK\Airtable as AirtableClient;

class MemberIndex
{
    private $airtable;

    public function __construct(AirtableClient $airtableClient, string $table)
    {
        $this->airtable = $airtableClient->createTableManipulator($table);
    }

    public function clear()
    {
        $this->airtable->flushRecords();
    }

    public function search(){
        $records  =  $this->airtable->searchRecords( ["Champ1","Champ2"], "search_value");
        return $records;
    }

    public function save(array $data)
    {
        $criteria = ["Id" => $data["id"]];
        $fields   = [
            "Id"                    => $data["id"],
            "Firstname"             => $data["firstName"],
            "Lastname"              => $data["lastName"],
            "Email"                 => $data["email"],
            "CreatedAt"             => (string)$data["createdAt"],
        ];

        if ($this->airtable->containsRecord($criteria)) {
            $this->airtable->updateRecord($criteria, $fields);
        } else {
            $this->airtable->createRecord($fields);
        }
    }

    public function delete($id)
    {
        $this->airtable->deleteRecord(["Id" => $id]);
    }
}

许可证

Fork : 此库位于MIT许可证下。 查看完整许可证