allejo/php-soda

一个用于处理消费者和生产者Socrata API的PHP库

v1.0.3 2019-06-25 01:38 UTC

README

Stable Release Build Status Scrutinizer Code Quality Coverage Status

一个用于处理Socrata开放数据API的PHP库。作为Socrata官方实现的替代方案,此库通过提供更多功能、更面向对象的编程方法、文档以及大量示例代码来弥补官方库的不足。

此库完全支持通过获取数据集、处理令牌、处理基本身份验证和OAuth2.0令牌来与Socrata开放数据API(SODA)交互,以便写入或修改数据集。

要求

  • PHP 5.6+

安装

此库在Packagist上可用,名称为allejo/php-soda,您可以使用Composer添加它。

您没有使用Composer?不用担心,此库也提供Phar存档,您可以将其包含在您的代码中。从我们的发布中获取最新的Phar存档。

如果您需要使用此库的帮助,请查看我们的wiki文章

示例用法

以下是一些关于PhpSoda如何工作的快速示例,但您还可以做更多的事情。查看我们的wiki,以了解其他所有内容。

获取数据集

// Create a client with information about the API to handle tokens and authentication
$sc = new SodaClient("opendata.socrata.com");

// Access a dataset based on the API end point
$ds = new SodaDataset($sc, "pkfj-5jsd");

// Create a SoqlQuery that will be used to filter out the results of a dataset
$soql = new SoqlQuery();

// Write a SoqlQuery naturally
$soql->select("date_posted", "state", "sample_type")
     ->where("state = 'AR'")
     ->limit(1);

// Fetch the dataset into an associative array
$results = $ds->getDataset($soql);

更新数据集

// Create a client with information about the API to handle tokens and authentication
$sc = new SodaClient("opendata.socrata.com", "<token here>", "email@example.com", "password");

// The dataset to upload
$data = file_get_contents("dataset.json");

// Access a dataset based on the API end point
$ds = new SodaDataset($sc, "1234-abcd");

// To upsert a dataset
$ds->upsert($data);

// To replace a dataset
$ds->replace($data);

注意:此库支持使用Socrata开放数据API直接写入数据集。对于在Socrata数据管理体验(创建数据集的用户界面)中通过应用一个或多个数据转换到模式的方案的数据集,请使用Socrata数据管理API应用这些相同的转换到所有更新。有关何时使用SODA与Socrata数据管理API的详细信息,请参阅数据管理API文档

获取帮助

要获取帮助,请查看我们的wiki是否有关于您问题的信息。如果wiki无法帮助您,您可以创建一个问题,或者到IRC来看看;我在IRC上作为"allejo"可用,所以请随时ping我。我建议创建一个问题,因为其他人可能也有相同的问题,但为了快速帮助,IRC就很好。

要报告错误或请求功能,请提交问题。

IRC

频道: #socrata-soda
网络: irc.freenode.net

感谢

许可证

MIT