Twitter timeline что это
Twitter timeline что это
Because of very low usage, we plan to retire the Likes, Collections, and Moments timelines. We recommended you use the Profile and Lists timelines, which we’re updating to become faster, easier to use, and more up-to-date with Twitter features and functionality.
You can learn more about this change in ourВ announcement.
Embedded Timelines
Embedded timelines are an easy way to embed Tweets on your website in a compact, linear view.В Choose between a profile timeline to get the latest Tweets from a Twitter account, or a List timeline containing a curated list of Twitter accounts.
An embedded timeline consists of two parts: including an embed code that links your webpage to the timeline on Twitter.com, and the Twitter for Websites JavaScript to transform the link into a fully-rendered timeline.
Display styles
All timelines support a linear template display with polling for updates and theming customizations. Collections may be also be displayed in a rich photo-centric grid template.
Linear style example¶
Grid style example¶
Timeline types
Profile timeline
AВ profile timelineВ displays the latest Tweets from the specified (public) Twitter account.
Lists
A list timeline displays the latest Tweets from a curated, public list of Twitter accounts. The timeline includes a header displaying the list’s name, description, and curator. Create lists on Twitter.com, the Twitter app, or in TweetDeck, learn more here.
Collections
AВ collection timelineВ displays Tweets curated by a Twitter user in their chosen display order. You can create collections usingВ TweetDeck, or viaВ the API.
Likes
A likes timeline displays the most recently liked Tweets from the specified (public) Twitter account.
How to add an embedded timeline to your website
Visit publish.twitter.com to generate embed codes for profiles, lists, and collections. You can also click “Embed this…” from the “•••” menu on timeline screens on Twitter.com, or the “Share” menu of a TweetDeck column.
Dimensions
An embedded timeline automatically adjusts to the width of its parent element with a minimum width of 180 pixels and a maximum width of 520 pixels. The grid display has a minimum width of 220 pixels. Set the maximum width or the maximum height of an embedded timeline by adding aВ data-widthВ orВ data-heightВ attribute to the embed code anchor element.
Customize widget components
Custom chrome
Control the frame around the linear timeline by setting aВ data-chrome В attribute with space-separated tokens for each chrome component.
Token | Description |
---|---|
noheader | Hides the timeline header. Implementing sites must add their own Twitter attribution, link to the source timeline, and comply with other TwitterВ display requirements. |
nofooter | Hides the timeline footer and Tweet composer link, if included in the timeline widget type. |
noborders | Removes all borders within the widget including borders surrounding the widget area and separating Tweets. |
noscrollbar | Crops and hides the main timeline scrollbar, if visible. Please consider that hiding standard user interface components can affect the accessibility of your website. |
transparent | Removes the widget’s background color. |
Limiting the number of Tweets displayed
Display a specific number of items between 1 and 20 by customizing your embed HTML.
Add aВ data-tweet-limit В attribute to the embed code to specify a number of Tweets. The timeline will automatically adjust its height to display specified number of Tweets. The timeline is fixed after display; it will not poll for new Tweets.
Accessibility: Override ARIA live politeness
An embedded timeline describes its content for screen readers and other assistive technologies using additional markup defined inВ WAI-ARIA standards. A timeline widget is aВ live region of a pageВ which will receive updates when new Tweets become available.
GET statuses/user_timeline
Important notice: On June 19, 2019, we began enforcing a limit of 100,000 requests per day to the /statuses/user_timeline endpoint, in addition to existing user-level and app-level rate limits. This limit is applied on a per-application basis, meaning that a single developer app can make up to 100,000 calls during any single 24-hour period.
Returns a collection of the most recent Tweets posted by the user indicated by the screen_name or user_id parameters.
User timelines belonging to protected users may only be requested when the authenticated user either «owns» the timeline or is an approved follower of the owner.
The timeline returned is the equivalent of the one seen as a user’s profile on Twitter.
This method can only return up to 3,200 of a user’s most recent Tweets. Native retweets of other statuses by the user is included in this total, regardless of whether include_rts is set to false when requesting this resource.
See Working with Timelines for instructions on traversing timelines.
Resource URL¶
Resource Information¶
Response formats | JSON |
Requires authentication? | Yes |
Rate limited? | Yes |
Requests / 15-min window (user auth) | 900 |
Requests / 15-min window (app auth) | 1500 |
Requests / 24-hour window | 100,000 |
Note: the 24-hour request limit is based on a rolling clock, beginning at the time of the first request and monitored for the next 24 hours.
Разработка Показываем таймлайн Twitter
В связи с большой популярностью различных социальных сетей и микроблогов перед разработчиками приложений для iPhone часто возникает задача интеграции с ними. В этой статье будет показано, как простыми средствами встроить в приложение ленту последних записей из Твиттера.
Задача получения ленты записей из Твиттера делится на загрузку данных с сервера, их обработку и отображение. В качестве источника записей использовался формат JSON. Я продемонстрирую работу с JSON на примере одной из существующих библиотек, а также способы получения данных с удалённых серверов с помощью синхронных и асинхронных запросов.
Существует несколько свободных библиотек для работы с JSON на устройствах под управлением iOS. Из самых известных стоит отметить JSON Framework (именно эта библиотека была использована мной в процессе написания статьи) и TouchJSON. Эти библиотеки готовы для использования в проектах для iOS. Можно также воспользоваться другими библиотеками (например, легковесной cJSON), написав для них «обёртки» на Objective-C (такие обёртки по-английски называются wrapper).
Для получения последних записей из Твиттера не обязательно регистрировать своё приложение и получать ключ разработчика. У Твиттера есть открытый API, позволяющий получить ленту в виде объектов JSON. Для её получения надо всего лишь обратиться по адресу следующего вида:
где USERNAME — это имя пользователя, зарегистрированного в Твиттере. В случае, если такого пользователя не существует, придёт ответ в виде JSON, содержащий описание ошибки.
Синхронная загрузка данных
При использовании синхронных запросов мы отправляем запрос на сервер и ждём, пока от него придёт ответ. При этом выполнение потока, из которого была осуществлена отправка запроса, приостанавливается до прихода ответа. После того, как сервер ответил, и мы получили необходимые для работы данные, выполнение потока продолжается.
Примечание: для большей наглядности я постарался избежать autorelease-объектов там, где это возможно.
Синхронный запрос для получения ленты пользователя Твиттера отправляется следующим образом:
В результате выполнения этого метода в объект responseData запишется ответ от сервера. Объекты response (экземпляр NSURLResponse) и error (экземпляр NSError) будут содержать соответственно данные ответа (например, кодировку возвращаемых данных или тип MIME) и ошибку, если таковая возникла в процессе выполнения запроса.
После получения необходимых данных в виде объекта NSData можно отправить их на разбор в парсер JSON. Как уже было сказано в начале статьи, я воспользовался библиотекой JSON Framework. Данные, полученные от сервера, были преобразованы в NSString, потому что парсер при разборе строки может возвращать также описание ошибки, если она возникнет.
В результате выполнения этого кода в объекте tweets будет находиться массив из словарей (экземпляров NSDictionary), каждый из которых представляет одну запись в Twitter со всеми сопутствующими параметрами (такими, как текст твита, дата публикации, данные геолокации и т.п.). Этот массив можно обработать и вывести на экран. В демо-проекте к этой статье лента записей выводится в виде таблицы.
Асинхронная загрузка данных
Такой способ загрузки является более предпочтительным, так как процесс получения данных от удалённого сервера происходит в отдельном потоке и даёт больше возможностей для контроля за этим процессом. Создание соединения для асинхронного запроса происходит так:
Параметр startImmediately:YES сообщает соединению, что загрузку можно начинать немедленно. Если передать в него значение NO, то отправку запроса придётся делать вручную:
Объект-делегат, переданный в параметре delegate, содержит следующие методы, которые будут вызываться в процессе работы соединения.
Этот метод вызовется в том случае, если соединение прервалось в результате возникновения ошибки. Из него можно вызвать тот объект, который ожидает получения данных, и, например, показать сообщение об ошибке на экране.
Этот метод вызывается после установления соединения. Из объекта response можно получить различные данные об ответе от сервера. Например, значение свойства expectedContentLength можно использовать для отрисовки прогресса загрузки.
Асинхронные запросы получают данные порциями, и при получении очередной порции будет вызываться этот метод. Поэтому перед запуском запроса необходимо создать экземпляр объекта NSMutableData, в который и будут дописываться полученные порции данных.
Этот метод вызывается по завершении загрузки данных. Здесь можно обработать полученные данные, освободить ненужные объекты и передать управление объекту, который ожидает эти самые данные (в нашем случае это таблица, куда выводятся твиты).
В демонстрационном проекте к этой статье на экран выводятся твиты из ленты Артура Малосиева:
В проекте используется макрос TRACE для переопределения NSLog. Сделано это с целью отключения вывода отладочной информации при сборке цели Release. Макрос выглядит так:
Этот параметр сообщит компилятору, что при сборке цели Debug будет определена переменная DEBUG, и все вхождения TRACE будут заменены на NSLog. При сборке цели Release все вхождения TRACE будут отброшены, и вывод отладочной информации производиться не будет.
Исходные коды библиотеки JSON Framework распространяются на условиях лицензии BSD и доступны на github.
Скачать исходные коды демонстрационного проекта к статье можно также скачать с github. Проект распространяется на условиях Public Domain, и любая его часть может быть использована в любых целях без указания моего авторства.
Виджет Twitter Timeline (Extra)
Виджет Twitter Timeline позволяет добавить в сайдбар (боковую колонку) сайта твиты из Twitter.com.
Пример отображения виджета:
Авторизуйтесь в Twitter и создайте новый виджет Twitter. После настройки виджета нажмите кнопку Создать виджет.
Далее в меню консоли вашего сайта выберите Внешний вид → Виджеты и перетащите виджет Twitter Timeline (Extra) в сайдбар.
После внесения изменений в настройки виджета не забудьте нажать кнопку Сохранить.
Шорткод для размещения Twitter на странице сайта
Авторизуйтесь в Twitter и создайте новый виджет Twitter. После настройки виджета нажмите кнопку Создать виджет.
Чтобы вставить виджет Twitter на страницу/запись вашего сайта нужно использовать следующий шорткод:
[twitter-timeline username=yourhandle]
ID — это длинный номер, который вы видите в адресной строке при редактировании виджета Twitter.
username — ваше имя на Twitter (без символа @).
В режиме редактирования страницы/записи это будет выглядеть примерно так:
Когда вы все сделали, виджет на странице сайта будет выглядеть примерно так:
Twitter timeline что это
The user Tweet timeline endpoints provides access to Tweets published by a specific Twitter account.В Retrieving a user’s Tweets allows you to build experiences such as showcasing a timeline in a user interface, analyzing a user’s Tweets to better understand their content, or create engagement workflows with their TweetsВ programmatically. This endpoint gives you access to a single Twitter account’s most recent Tweets, Retweets, replies, and Quote Tweets, similar to what may be seen on a user’s profile timeline.
Here is a user timeline for @TwitterDev:
The user Tweet timeline endpoint is a REST endpoint that receives a single path parameter to indicate the desired user (by user ID). The endpoint can return the 3,200 most recent Tweets, Retweets, replies and Quote Tweets posted by the user.
Tweets are delivered in reverse-chronological order, starting with the most recent. Results are paginated up to 100 Tweets per page. Pagination tokens are provided for paging through large sets of Tweets. The Tweet IDs of the newest and the oldest Tweets included in the given page are also provided as metadata, which can also be used for polling timelines for recent Tweets, or for navigating through the timeline similar to the v1.1 user_timeline endpoints. The user Tweet timeline also supports the ability to specify start_time and end_time parameters to receive Tweets that were created within a certain window of time.В
The user Tweet timeline endpointВ supportsВ fieldsВ andВ expansionsВ parameters, and returns theВ new JSON data format.
User Tweet timeline supports both OAuth 2.0 Bearer Token authentication, and OAuth 1.0a User Context authentication for authorized requests. You must use OAuth 1.0a User Context when requesting non public metrics, promoted metrics or a protected user’s timeline. For these cases, you will need to use theВ OAuth 1.0a User Context authentication tokens of the user ID that is requested in the path parameter.В В
The user Tweet timeline endpoint is designed to support two common usage patterns:В
«Get a user’s historical Tweets»: Requests made to user Tweet timeline in order to receive Tweets authored by the user of interest in chronological order over a specific recent timeframe. The timeframe can be set using the start_time and end_time and paginating through the full results.В In some cases, a user’s entire history of Tweets can be retrieved if the user has only authored up to 3,200 Tweets in their account. Tweets included will depend on the public availability and the authentication that is used for the requests.
«Polling for new Tweets»: Requests made to user Tweet timeline on a continual basis, to retrieve new TweetsВ authored by a specific user. The last Tweet ID receieved can be set as a parameter for any new requests since the last Tweet.
User mention timeline
The user mention timeline endpoint allows you to request Tweets mentioning a specific Twitter user, for example, if a Twitter account mentioned @TwitterDev within a Tweet. This will also include replies to Tweets by the user requested. Retrieving a user’s mentions allows you to build experiences such as quickly discovering who is replying to a users’ Tweets, mentioning or to create engagement workflows with their Tweets programmatically. The endpoint allows you to request to a single user’s most recent mentions and replies, similar to what may be seen in a user’s notifications for mentions on Twitter.
The user mention timeline is a REST endpoint that receives a single path parameter to indicate the desired user (by user ID). The endpoint can return the 800 most recent mentions for that user.
Tweets are delivered in reverse-chronological order, starting with the most recent. Results are paginatedВ in up to 100 Tweets per page.В Pagination tokens are provided for paging through large sets of Tweets. The Tweet IDs of the newest and the oldest Tweets included in the given page are also provided as metadata, which can also be used for polling timelines for recent Tweets, or for navigating through the timeline similar to the v1.1 mentions_timeline endpoint. The endpoint also supports the ability to specify start_time and end_time В parameters to receive Tweets that were created within a certain window of time.В
User mention timeline supports bothВ OAuth 2.0 Bearer Token authentication, andВ OAuth 1.0a User Context authenticationВ for authorized requests. You must use OAuth 1.0a User Context when requesting mentions for a protected user. For this case, you will need to use theВ OAuth 1.0a User Context authentication tokens of the user ID that is requested in the path parameter.В В
The user mention timeline endpoint supports fields and expansions parameters, and returns the new JSON data format.