You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
93 lines
2.3 KiB
93 lines
2.3 KiB
<?php |
|
/** |
|
* @author Albert Kozlowski <vojant@gmail.com> |
|
* @license MIT License |
|
* @link https://github.com/vojant/Twitter-php |
|
*/ |
|
|
|
namespace TwitterPhp; |
|
|
|
use \TwitterPhp\Connection\Application; |
|
use \TwitterPhp\Connection\User; |
|
|
|
require_once 'connection/ConnectionAbstract.php'; |
|
require_once 'connection/Application.php'; |
|
require_once 'connection/User.php'; |
|
|
|
/** |
|
* Class TwitterRestApiException |
|
*/ |
|
class RestApiException extends \Exception {}; |
|
|
|
/** |
|
* Class RestApi |
|
* @package TwitterPhp |
|
*/ |
|
class RestApi |
|
{ |
|
/** |
|
* @var string |
|
*/ |
|
private $_consumerKey; |
|
|
|
/** |
|
* @var string |
|
*/ |
|
private $_consumerSecret; |
|
|
|
/** |
|
* @var string |
|
*/ |
|
private $_accessToken; |
|
|
|
/** |
|
* @var string |
|
*/ |
|
private $_accessTokenSecret; |
|
|
|
|
|
/** |
|
* @param string $consumerKey |
|
* @param string $consumerSecret |
|
* @param null|string $accessToken |
|
* @param null|string $accessTokenSecret |
|
* @throws TwitterRestApiException |
|
*/ |
|
public function __construct($consumerKey,$consumerSecret,$accessToken = null,$accessTokenSecret = null) |
|
{ |
|
if (!function_exists('curl_init')) { |
|
throw new TwitterRestApiException('You must have the cURL extension enabled to use this library'); |
|
} |
|
$this->_consumerKey = $consumerKey; |
|
$this->_consumerSecret = $consumerSecret; |
|
$this->_accessToken = $accessToken; |
|
$this->_accessTokenSecret = $accessTokenSecret; |
|
} |
|
|
|
/** |
|
* Connect to Twitter API as application. |
|
* @link https://dev.twitter.com/docs/auth/application-only-auth |
|
* |
|
* @return \TwitterPhp\Connection\Application |
|
*/ |
|
public function connectAsApplication() |
|
{ |
|
return new Application($this->_consumerKey,$this->_consumerSecret); |
|
} |
|
|
|
/** |
|
* Connect to Twitter API as user. |
|
* @link https://dev.twitter.com/docs/auth/oauth/single-user-with-examples |
|
* |
|
* @return \TwitterPhp\Connection\User |
|
* @throws TwitterRestApiException |
|
*/ |
|
public function connectAsUser() |
|
{ |
|
if (!$this->_accessToken || !$this->_accessTokenSecret) { |
|
throw new TwitterRestApiException('Missing ACCESS_TOKEN OR ACCESS_TOKEN_SECRET'); |
|
} |
|
return new User($this->_consumerKey,$this->_consumerSecret,$this->_accessToken,$this->_accessTokenSecret); |
|
} |
|
|
|
} |