SocialProof
, (*1)
What is SocialProof?
SocialProof is a fluent interface for fetching followers / fans from various social media platforms using their internal API. It handles all API requests asynchronous using Guzzle and catches API exceptions / errors with a user-definable default value., (*2)
Features
- Simple, fluent syntax for handling credentials / configuration.
- Completely asynchronous using Guzzle's
getAsync()
.
- User-definable default values when an API request fails.
- Simple debugging when configuring.
- Automatically handles OAuth when fetching from API's such as Twitter.
- Easily extendable and all PR's are very welcome. :heart:
All pull requests for additional platforms are greatly appreciated. Please use the existing Providers as an example., (*3)
Requirements
Installation
Install via Composer:, (*4)
composer require log1x/socialproof
Usage
SocialProof is incredibly easy to use, but caching values and storing them appropriately to not hit API limits / affect performance is up to the end-user. For WordPress, an example would be using the Transients API with an expiration of every 24 hours and the Options API for a fallback value along with ->setDefault()
in the event an API request fails after your transient expires., (*5)
Facebook
use SocialProof\SocialProof;
return SocialProof::social()
->facebook()
->setUsername('example')
->setToken('XXXXXXXXXXXXXXXXXXXXXXXX')
->get();
See here to generate a token for Facebook., (*6)
use SocialProof\SocialProof;
return SocialProof::social()
->twitter()
->setUsername('username')
->setConsumerKey('XXXXXXXXXXXXXXXXXXXXXXXX')
->setConsumerSecret('XXXXXXXXXXXXXXXXXXXXXXXX')
->setToken('XXXXXXXXXXXXXXXXXXXXXXXX')
->setTokenSecret('XXXXXXXXXXXXXXXXXXXXXXXX')
->get();
Instagram
use SocialProof\SocialProof;
return SocialProof::social()
->instagram()
->setToken('XXXXXXXXXXXXXXXXXXXXXXXX')
->get();
Pinterest
use SocialProof\SocialProof;
return SocialProof::social()
->pinterest()
->setUsername('username')
->get();
LinkedIn
use SocialProof\SocialProof;
return SocialProof::social()
->linkedin()
->setUsername('username')
->setToken('XXXXXXXXXXXXXXXXXXXXXXXX')
->get();
Configuration
SocialProof::social()
accepts various configuration when passing through your social credentials. Here's an example using Facebook:, (*7)
use SocialProof\SocialProof;
return SocialProof::social()
->facebook()
->setUsername('example')
->setToken('XXXXXXXXXXXXXXXXXXXXXXXX')
->setDefault('No followers')
->setApi('https://graph.facebook.com')
->setEndpoint('/v2.7/')
->setTimeout(60)
->setDebug()
->get();
A long form syntax is also available for passing credentials and configuration through an array using setCredentials($array)
and setConfigs($array)
or a string using setCredential($key, $value)
and setConfig($key, value)
., (*8)
use SocialProof\SocialProof;
return SocialProof::social()
->facebook()
->setCredentials([
'username' => 'example',
'token' => 'XXXXXXXXXXXXXXXXXXXXXXXX'
])
->setConfig('default', 'No Followers')
->get();
Debugging
Since SocialProof catches API errors, timeouts, etc. and returns a default value instead, you can use ->setDebug()
to enable debugging during initial setup., (*9)