Введение
В данной заметке мы рассмотрим не 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. В большинстве из них достаточно просто перегенерировать токен.