Top Banner
30

Desenvolvimento de aplicações para o Twitter

Aug 04, 2015

Download

Documents

entrebits
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Desenvolvimento de aplicações para o Twitter
Page 2: Desenvolvimento de aplicações para o Twitter

1. Aplicativos Sociais O que são aplicativos sociais?

Aplicativos integrados a sites de redes sociais, que se beneficiam de uma estrutura existente através do uso de api's e containers

Podem ser de vários tipos, com diferentes níveis de imersão, com diversas finalidades, desde jogos até simples ”robôs”

Compartilhamento é a palavra chave Integração de sites com redes sociais é

tendência

Page 3: Desenvolvimento de aplicações para o Twitter

2. Alguns dados do Twitter

Globalmente, é a segunda rede social mais acessada

Na América Latina, é o quarto maior, com crescimento de 59% no último ano

No Brasil também é o quarto, com 12 milhões de visitantes.

Dados da ComScore, junho de 2011

Page 4: Desenvolvimento de aplicações para o Twitter

Dados da SuperInteressanteDezembro 2010

Page 5: Desenvolvimento de aplicações para o Twitter

3. Twitter API

REST API RW, ”direto do banco”, sem filtros

Search API Read only, user quality filter + relevance and

ranking filter, armazenados em cache Streaming API

Read only, user quality filter, streaming tempo real. Estatísticas de uso da API do Twitter:

13 bilhões de reqs/dia, 150mil reqs/segundo

Page 6: Desenvolvimento de aplicações para o Twitter

3. Twitter API

Page 7: Desenvolvimento de aplicações para o Twitter

3. Twitter API

Autenticação OAuth – requisições assinadas Acesso orientado por usuário Tipos diferentes de acesso por aplicação

(permissões) Aplicações não salvam senhas Usuários podem mudar suas senhas e as

chaves (tokens) continuam válidas

Page 8: Desenvolvimento de aplicações para o Twitter

3. Twitter API

Limitações REST api 350 chamadas/hora por

usuário(chamadas autenticadas) ou IP(não autenticadas)

”limites naturais” para total de follows, unfollows, tweets e dm's por dia

Tweets duplicados não são aceitos

Page 9: Desenvolvimento de aplicações para o Twitter

4. Diferenças entre Aplicações A nível de Permissão (definido no registro)

Somente Leitura (R) Leitura e Escrita (RW) Leitura, Escrita e DM's (RWD)

A nível de Projeto Multi usuário, com ou sem persistência Usuário único

A nível de Acesso Autenticada Não autenticada

Page 10: Desenvolvimento de aplicações para o Twitter

5. Registrando uma aplicação

Registro de Aplicação Antes de começar, é preciso cadastrar

a aplicação em http://dev.twitter.com No formulário você define os dados da

app e a sua url de callback Após o cadastro, você terá duas

chaves: consumer_key e consumer_key_secret

Page 11: Desenvolvimento de aplicações para o Twitter

5. Registrando uma aplicação

Page 12: Desenvolvimento de aplicações para o Twitter
Page 13: Desenvolvimento de aplicações para o Twitter
Page 14: Desenvolvimento de aplicações para o Twitter
Page 15: Desenvolvimento de aplicações para o Twitter

6. Lib TwitterTools

Requisitos Básicos Servidor web externo com:

− módulo Curl (libcurl)− allow_url_fopen ON (php.ini)

consumer_key e consumer_secret (obtidos no registro da app)

Page 16: Desenvolvimento de aplicações para o Twitter

6. Lib TwitterTools Benefícios

Facilidade muito maior no processo de autenticação

Métodos simples para as chamadas mais comuns Retorno em array Possibilidade de executar também chamadas

complexas e bem específicas Encurtador de url e envio de imagens (twitpic) Possibilidade de extender com novas

funcionalidades

Page 17: Desenvolvimento de aplicações para o Twitter

6. Lib TwitterTools

Checando estado Propriedade ”state”

− 0 = não autenticado− 1 = acabou de autorizar a app e retornar− 2 = autenticado

Conf. Api keys de terceiros TwitterTools::$bl_login TwitterTools::$bl_apikey TwitterTools::$twitpic_apikey

Page 18: Desenvolvimento de aplicações para o Twitter

6.1 Retornos da API

Principais retornos Objeto Usuário Objeto Tweet Objeto Timeline Mensagens de erro

Page 19: Desenvolvimento de aplicações para o Twitter

6.1 Retornos da API: objeto User

[profile_background_image_url] => http://a2.twimg.com/profile_background_images/185716312/bg_tw.jpg[protected] => 0[statuses_count] => 7411[location] => João Pessoa PB[name] => Erika Heidi Focke[listed_count] => 58[url] => http://erikaheidi.com[following] => 1 [description] => Desenvolvedora Web, recém formada em publicidade. Demasiado interesse pelo estudo de redes sociais e suas influências. Criadora do TweetAuditor.in[created_at] => Tue Jan 27 23:55:15 +0000 2009[id_str] => 19625601[favourites_count] => 22[profile_image_url] => http://a3.twimg.com/profile_images/1441955889/DSCF4643__normal.JPG[id] => 19625601[time_zone] => Brasilia[friends_count] => 528[followers_count] => 1126[screen_name] => erikaheidi

Page 20: Desenvolvimento de aplicações para o Twitter

6.1 Retornos da API: objeto Tweet

[user] => Array(objeto usuário) [in_reply_to_status_id] => [in_reply_to_user_id] => [text] => Eu estou rindo muito com a confusão do @GreatZoltar![created_at] => Wed Jul 20 00:25:01 +0000 2011[id_str] => 93476467735937024[geo] => [favorited] => [id] => 93476467735937024[in_reply_to_status_id_str] => [source] => TweetDeck[coordinates] => [in_reply_to_screen_name] => [truncated] => [in_reply_to_user_id_str] =>

Page 21: Desenvolvimento de aplicações para o Twitter

6.2 Exemplos

Exemplo de código para obter 10 mentions recentes do usuário (modo ”robô”)

$cskey = ”XYZ”;$cssecret = ”ABC”;$atoken = ”cde”;$atoken_secret = ”fgh”;

$tw = new TwitterTools($cskey,$cssecret,$atoken,$atoken_secret);$mentions = $tw->getMentions(10);

print_r($mentions);

Retorno: Array com elementos do tipo ”Tweet”(array), incuindo o objeto do usuário(também em formato array). Exemplo: http://pastebin.com/TwSLPTUZ

Page 22: Desenvolvimento de aplicações para o Twitter

6.2 Exemplos Com autenticação do usuáriosession_name("MyAPP");session_start();

$cskey = ”XYZ”;$cssecret = ”ABC”;

$tw = new TwitterTools($cskey,$cssecret);if(!$tw->state){

//exibir botão p/ logar $request_link = $tw->getAuthLink(); echo '<p><a href="'.$request_link.'" title="sign in with

your twitter account"><img src="img/sign-in-with-twitter-d.png" /></a></p>';}else{

$mentions = $tw->getMentions(10);

print_r($mentions);}

Page 23: Desenvolvimento de aplicações para o Twitter

6.3 Métodos User-related

remainingCalls() getCredentials() checkConnections(users_logins) isFollower(user_login) follow(user_login) unfollow(user_login) getFollowers([user_login,cursor]) getFriends([user_login,cursor]) getUsersInfo(users_ids)

Page 24: Desenvolvimento de aplicações para o Twitter

6.3 Métodos

Tweets-related update(msg[,inreplyto,autoshort]) getTweet(id) getTimeline([limit]) getMentions([limit]) getRetweets([limit]) getFavorites([page,limit])

Page 25: Desenvolvimento de aplicações para o Twitter

6.3 Métodos

Public getTrending() search(query)

Chamada Genérica makeRequest(api_url[,$args=null,$method='GET'])

Page 26: Desenvolvimento de aplicações para o Twitter

7. Exemplo: Oráculo de Zoltar Aplicativo ”robô” que

responde perguntas de forma randômica

Roda através do cron, a cada 5 min

Verifica novas mentions e se é uma pergunta (procura '?')

Responde e salva o ID da última mention verificada

http://twitter.com/GreatZoltar

Faça sua pergunta agora!@GreatZoltar

Page 27: Desenvolvimento de aplicações para o Twitter

/* inclui as libs e instancia o objeto twittertools *//* cria um array com várias respostas *//* obtém o ID da última mention verificada e faz uma chamada específica para obter as mentions a partir daquele ID */

if($result) {foreach($result as $tweet) {

if(!$lastid)$lastid = $tweet['id_str'];

//pergunta?$pos = strpos($tweet['text'],'?');if($pos !== false) {

//responde pergunta$rand = array_rand($answers);$tw->update("@".$tweet['user']['screen_name']."

".$answers[$rand],$tweet['id_str']);}

}}

/* salva o $lastid como o id da última mention verificada*/

Page 28: Desenvolvimento de aplicações para o Twitter

8. Sites utilizando

TweetAuditor Monitoramento e Estatísticas de contas Twitter http://tweetauditor.in

TweetVote Enquetes via Twitter http://tweetvote.in

Page 29: Desenvolvimento de aplicações para o Twitter

9. Links

Site Oficial – documentação, demos, instruções gerais http://twittertools.in

Twittertools no GitHub http://github.com/erikaheidi/Twittertools