ldubois / php-airtable
使用PHP操作Airtable API
0.9.1
2022-02-17 12:36 UTC
Requires
- php: >=7.1
- ext-json: *
- beberlei/assert: ~2.1
- kriswallsmith/buzz: ^1.2
- nyholm/psr7: ^1.5
Requires (Dev)
- phpstan/phpstan: ^1.4
This package is auto-updated.
Last update: 2024-09-03 11:40:01 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许可证下。 查看完整许可证。