Создание Adobe AIR клиента для социальных сетей на примере Twitter

Содержание

Слайд 2

Социальная сеть Многопользовательский веб-сайт, контент которого наполняется самими участниками сети Сервис

Социальная сеть

Многопользовательский веб-сайт, контент которого наполняется самими участниками сети
Сервис представляет собой

автоматизированную социальную среду, позволяющую общаться группе пользователей, объединенных общими интересами
Слайд 3

Примеры социальных сетей Facebook MySpace Odnoklassniki Vkontakte Twitter И много других…

Примеры социальных сетей

Facebook
MySpace
Odnoklassniki
Vkontakte
Twitter
И много других…

Слайд 4

Доступ к информации Web-interface Application programming interface (API) Имеет некоторые ограничения

Доступ к информации

Web-interface
Application programming interface (API)
Имеет некоторые ограничения

Слайд 5

Twitter Сервис, представляющий собой систему микроблогов, позволяющий пользователям отправлять короткие текстовые

Twitter

Сервис, представляющий собой систему микроблогов, позволяющий пользователям отправлять короткие текстовые заметки,

используя
веб-интерфейс
SMS
сторонние программы-клиенты
Слайд 6

Twitter API Позволяет создавать приложения, веб-сайты, виджеты и другие проекты, которые

Twitter API

Позволяет создавать приложения, веб-сайты, виджеты и другие проекты, которые взаимодействуют

с Twitter
Позволяет получить доступ ко всем возможностям Twitter, не используя
веб-интерфейс twitter.com
Слайд 7

Особенности Twitter API Полностью основан на HTTP (вызывается URL с некоторыми

Особенности Twitter API

Полностью основан на HTTP (вызывается URL с некоторыми параметрами)
Формат

возвращаемых значений: XML, JSON, RSS и Atom в некоторых методах возможно использование только определенных форматов.
Слайд 8

Ограничения Twitter API Цель: избежать использования сервиса не по назначению, обезопасить сервер от больших нагрузок.

Ограничения Twitter API

<= 1000 обновлений статуса в день
<= 250 прямых сообщений

в день
<= 150 запросов на получение данных в час
Цель: избежать использования сервиса не по назначению, обезопасить сервер от больших нагрузок.
Слайд 9

Еще одно ограничение… Доступ swf файлов к twitter.com закрыт в crossdomain.xml

Еще одно ограничение…
Доступ swf файлов к twitter.com закрыт в crossdomain.xml
Результат: невозможность

использования flash приложений для доступа к Twitter API напрямую
Слайд 10

Выход? Использовать php прокси, чтобы обойти ограничения безопасности. Например, такой: proxy.php

Выход?

Использовать php прокси, чтобы обойти
ограничения безопасности.
Например, такой: proxy.php
И вместо вызова
http://twitter.com/statuses/user_timeline/user.xml
вызовем
http://myserver.com/proxy.php?url=http://twitter.com/statuses/user_timeline/user.xml
Результат: все

работает

$url = $_GET['url'];
readfile($url);?>

Слайд 11

Все работает, но… Вспомним ограничение: Запрсы бывают: в рамках учетной записи

Все работает, но…

Вспомним ограничение:
<= 150 запросов в час
Запрсы бывают:
в рамках учетной

записи пользователя
в рамках IP адреса
В итоге:
через некоторое время proxy.php
перестанет получать доступ к twitter API.
Слайд 12

Почему Adobe AIR? crossdomain.xml не влияет на права доступа У каждого

Почему Adobe AIR?

crossdomain.xml не влияет на права доступа
У каждого пользователя свой

IP адрес
Кросс-платформенность
Мы все-таки разрабатываем flash приложения…
Слайд 13

Создание клиента. Авторизация. Способ 1: Используя протокол OAuth (Более сложный и

Создание клиента. Авторизация.

Способ 1:
Используя протокол OAuth
(Более сложный и более безопасный)
Способ 2:
Используя

Basic Access Authentication
(Менее сложный и менее безопасный)
(подробнее в документации Twitter)
Слайд 14

Создание клиента. Получение/отправка данных Шаг1. Сформировать запрос url=http://twitter.com/statuses/public_timeline.xml?count=5 Шаг2. Отправить запрос

Создание клиента. Получение/отправка данных

Шаг1. Сформировать запрос
url=http://twitter.com/statuses/public_timeline.xml?count=5
Шаг2. Отправить запрос
urlLoader.load( new UrlRequest( url

) )
Шаг3. Обработать результат
(Исходя из запрошенного формата)
Подробно про запросы написано здесь:
http://apiwiki.twitter.com/Twitter-API-Documentation
Слайд 15

На что обратить внимание при создании клиента для Twitter Следить за

На что обратить внимание при создании клиента для Twitter

Следить за количством

сделанных/оставшихся запросов
Исходя из этого подобрать (настраивать) оптимальное время обновления данных
Кэшировать полученные данные
Длина сообщения не может превышать 140 символов
Дублируемые сообщения не публикуются
Функциональность сервиса все время развивается и меняется
Слайд 16

Клиент для игры в шахматы через Twitter. Возможности: Авторизация Получение списка

Клиент для игры в шахматы через Twitter.

Возможности:
Авторизация
Получение списка друзей и выбор

из них оппонента
Начало новой игры/продолжение ранее начатой
Публикация ссылки с ходом на Twitter
Считывание хода противника с Twitter
При длине сообщения, превышающей 140 символов, сворачивание ссылки на ход при помощи внешнего сервиса
Отображение позиции в игре
Чат через публикацию сообщений в Twitter
Слайд 17

Клиент для игры в шахматы через Twitter. Ходы остаются “записаны” в

Клиент для игры в шахматы через Twitter.
Ходы остаются “записаны” в Twitter

и игра может быть воспроизведена
Другие пользователи могут просмотреть игру
Слайд 18

Клиент для игры в шахматы через Twitter. Демонстрация. Twitter Клиент

Клиент для игры в шахматы через Twitter. Демонстрация.

Twitter Клиент