Введение
В данной заметке мы рассмотрим не oauth аутентификацю пользователей в вашем приложении при помощи официального расширения yii2-authclient, мы рассмотрим возможность использовать функционал twitter через single access token.
Это не так сложно, но я думаю, что информация будет полезна многим начинающим.
Получение токена
Первым делом нужно зарегистрировать свое приложение. Сначала мы получаем Consumer Key и Consumer Secret, затем генерируем новый токен и получаем Access Token и Access Token Secret.
Приступим
Для начала нужно установить уже упомянутый yii2-authclient.
Полученные ключи от твиттера Consumer Key, Consumer Secret, Access Token и Access Token Secret можно хранить в параметрах приложения:
// ...
'params' => [
'twitterApiKey' => 'НАШ CONSUMER KEY',
'twitterApiSecret' => 'НАШ CONSUMER SECRET',
'twitterAccessToken' => 'НАШ ACCESS TOKEN',
'twitterAccessTokenSecret' => 'НАШ ACCESS TOKEN SECRET'
]
// ...
Как это работает
use yii\authclient\clients\Twitter;
use yii\authclient\OAuthToken;
// Создаем OAuthToken
$token = new OAuthToken([
'token' => Yii::$app->params['twitterAccessToken'],
'tokenSecret' => Yii::$app->params['twitterAccessTokenSecret']
]);
// Запускаем Twitter используя полученный $token
// recently created token
$twitter = new Twitter([
'accessToken' => $token,
'consumerKey' => Yii::$app->params['twitterApiKey'],
'consumerSecret' => Yii::$app->params['twitterApiSecret']
]);
var_dump($twitter->api('statuses/home_timeline.json', 'GET'));
die();
Примечание
В некоторых случаях может появляться ошибка Invalid Token. В большинстве из них достаточно просто перегенерировать токен.
