chrishardie / crowdtangle-api
A minimal PHP implementation of the CrowdTangle API
Requires
- php: ^8.0
- guzzlehttp/guzzle: ^6.2|^7.0
Requires (Dev)
- phpunit/phpunit: ^9.4
README
This is a minimal PHP implementation of the CrowdTangle API. It contains a subset of the methods available. I am open to PRs that add extra methods to the client.
Here are a few examples on how you can use the package:
$client = new ChrisHardie\CrowdtangleApi\Client($accessToken); // get lists $client->getLists(); // get accounts in a list $client->getAccountsForList($listId); // get posts $client->getPosts([ 'accounts' => '12345678', 'startDate' => '2022-03-01', ]); // get a single post $client->getPost($postId);
View the full CrowdTangle API Documentation for details on available parameters and syntax.
Installation
You can install the package via composer:
composer require chrishardie/crowdtangle-api
Usage
Here are the API methods currently supported:
getLists()
- Retrieve the lists, saved searches and saved post lists for an accountgetAccountsForList($listId, $parameters, $maxRecords)
- Retrieve the accounts for a given listgetPosts($parameters, $maxRecords)
- Retrieve a set of posts for the given parametersgetPost($postId)
- Retrieves a specific post
In most cases the library is simply passing the required arguments to the CrowdTangle API.
In the case of methods that support pagination (currently, getAccountsForList()
and getPosts()
), by default this library will attempt to retrieve all records on all pages, 100 at a time up to 1000 maximum. You can change this by passing a lower value for $maxRecords
. Note that CrowdTangle API throttling limits may apply.
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Credits
Inspired and structured after Spatie's Dropbox API.
License
The MIT License (MIT). Please see License File for more information.