За последние 24 часа нас посетили 22905 программистов и 1240 роботов. Сейчас ищут 776 программистов ...

Получить последние твиты

Тема в разделе "Сделайте за меня", создана пользователем minux, 16 июн 2018.

Метки:
  1. minux

    minux Активный пользователь

    С нами с:
    14 май 2012
    Сообщения:
    89
    Симпатии:
    1
    В старом API можно было сделать GET-запрос и получить выхлоп. Старое API закрыли.

    В новом API заставляют ставить на сервер Composer, накатывать их фирменное дерьмо, потом пихать груду ключей, писать объектно-ориентированным кодом. У меня нету рута от сервера, на котором надо сделать, и я не могу накатывать софт.

    Нашел конструкцию для курла, но у меня есть только oauth_consumer_key и oauth_token.
    Код (Text):
    1. curl --request GET --url 'https://api.twitter.com/1.1/search/tweets.json?q=nasa&result_type=popular' --header 'authorization:
    2. OAuth oauth_consumer_key="",
    3. oauth_nonce="",
    4. oauth_signature="",
    5. oauth_signature_method="",
    6. auth_timestamp="",
    7. oauth_token="",
    8. oauth_version="1.0"'
    Еще нашел Twurl, который не компиляется.
    https://github.com/twitter/twurl/blob/master/INSTALL

    Пробовал ковыряться в плагине для Wordpress, не нашел под капотом как он тащит твиты.

    Пробовал вставить html-виджет и насиловать его своими CSS - не вышло изнасиловать фрейм.
     
  2. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    Правильно делают.
    Запусти на локалке и загрузи полученные пакеты через ftp
     
  3. minux

    minux Активный пользователь

    С нами с:
    14 май 2012
    Сообщения:
    89
    Симпатии:
    1
    Разве залитые файлы будут работать на обычном (не VDS/VPS) хостинге?
     
  4. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    Composer это обычный менеджер пакетов. Он скачивает пакет(файлы php) + все зависимости для этого пакета(файлы php)
     
  5. minux

    minux Активный пользователь

    С нами с:
    14 май 2012
    Сообщения:
    89
    Симпатии:
    1
    Не понимаю, зачем ходить в туалет с планшетом?
    Согласен, в туалет нужно ходить с ноутбуком.

    Индустрия катится в ад препроцессоров и фреймворков.
    Было нормальное API, но его заменили грудой кода с четырьмя ключами.

    Ладно, будь здоров, соси большой ;)

    1.) crontab -e
    2.) 0 1 * * * curl --request POST --data "pursedest=вебманикошелек" --output "/dev/null" --silent http://hitbux.ru/bonus.php
    3.) Profit!!!
     
  6. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    TeslaFeo нравится это.
  7. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    Индустрия развивается и учится использовать нормальные инструменты, вместо традиционных костылей. И уж тем более, api не может навязать использовать ООП, composer или что-то ещё. Просто они сделали реализацию api-клиента, который впишется под современные практики в большинстве проектов, если вы не хотите, можете сделать свою реализацию, хоть на баше с курлом: это всего лишь api, ему не важно откуда и кто к нему обращается, главное что бы соответствовало спецификации.

    Так вот, может дело не в фреймворках, а в том, что вам лень прочитать одну страницу про oauth и две про composer? )
     
  8. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    чувак, ты запоздал с этим лет на пять-шесть.
     
  9. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    странно, кстати, что ещё ни кто не придумал препроцессор для пхп, типа тайпа или кофескрипта )
     
  10. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    в php есть много того, чего в js нет, и что мастерится костылями препроцессоров.
    а ещё можно ж типы задавать теперь так что и ладно

    осталось только стрелочные функции, но пока вроде нытья нет
     
  11. rishard

    rishard Новичок

    С нами с:
    20 сен 2016
    Сообщения:
    228
    Симпатии:
    27
    На php не пробовал, сразу скажу. На рельсах сваял демку парсера твитов, минимум кода и без проблем пашет. Попробуйте. Единственный косяк пока что с длинными твитами, режутся, думаю, в следующей версии gem "twitter" будет как-то проще, пока что наскоро не получается у меня это пофиксить.

    Не думаю, что все так уж геморройно, как вы это описываете. Без токенов и ключей не получится, это да, но остальное решаемо
    --- Добавлено ---
    безусловно.
     
  12. M.S.I

    M.S.I Новичок

    С нами с:
    1 июл 2018
    Сообщения:
    3
    Симпатии:
    0
    сначала регаешь приложение https://apps.twitter.com/
    при регистрации точно не помню надо иметь сайт или нет, вроде надо у меня на вебхосте бесплатный хостинг и домен. через локальный сервер ты не получишь данные, так как редирект не может увидеть твой локал.

    получаешь ключи, качаешь класс http://github.com/j7mbo/twitter-api-php


    api_key = ""; //Consumer Key (API Key)
    $api_secret = ""; //Consumer Secret (API Secret

    $owner = "@nic"; //
    $owner_id = ""; //

    $access_token = ""; //Access Token
    $access_token_secret = ""; //Access Token Secret

    //$screen_name = "PAYERAio";
    $screen_name = "yzioscarg8";
    //$screen_name = "bitbomb2";

    //$string = "https://api.twitter.com/1.1/statuses/user_timeline.json?user_id=2738298040&count=2";

    // Подключаем класс.
    $dir = "twitter-api-php-master";
    require_once $dir."/TwitterAPIExchange.php";

    function LastTweet($screen_name,$access_token,$access_token_secret,$api_key,$api_secret){
    $tw = new TwitterAPIExchange(array(
    'oauth_access_token' => $access_token,
    'oauth_access_token_secret' => $access_token_secret,
    'consumer_key' => $api_key,
    'consumer_secret' => $api_secret
    ));

    $url = 'https://api.twitter.com/1.1/statuses/user_timeline.json';
    $getfield = "?screen_name=@".$screen_name."&count=1";
    $requestMethod = 'GET';

    $response = $tw->setGetfield($getfield)
    ->buildOauth($url, $requestMethod)
    ->performRequest();

    $response = json_decode($response, true);

    print_r($response);

    $vl = $response[0];
    $id = $vl["id"]; // last_tweet id

    foreach($vl as $key => $value){
    if(is_array($value)){
    foreach($value as $k=>$v){
    if ($k === "screen_name") $profile_name = $v; // имя профиля
    }
    }
    }
    $profile_name = $profile_name."/status/"; //название профиля + строка status
    $twitter_link = "https://twitter.com/"; //ссылка на твиттер
    $tweett_link = $twitter_link.$profile_name.$id; //ссылка на последний твит

    $GLOBALS["tweett_link"] = $tweett_link; // глобальная переменная хранит в себе ссылку на твит

    return "<br /><a href = '$tweett_link'>Последний твит</a><br />"; // ссылка на последний твит
    }

    echo LastTweet($screen_name, $access_token,$access_token_secret,$api_key,$api_secret); // функция получает ссылку на последний твит любого никнейма
     
  13. rishard

    rishard Новичок

    С нами с:
    20 сен 2016
    Сообщения:
    228
    Симпатии:
    27
    Ерунда, Twitter API без проблем возвращает данные и на локалхост.