Recentemente a API do Twitter foi atualizada para a versão 1.1, com isso alguns procedimentos foram alterados, realizar busca por HashTag é uma delas.
Neste tutorial irei ensinar a realizar buscas por HashTags no Twitter sem que haja a necessidade do usuário estar logado com sua conta.
Iremos utilizar um framework chamado STTwitter, para instala-lo basta seguir o tutorial: Adicionando Um Framework Ao Projeto Do XCode Com O CocoaPods publicado anteriormente em nosso blog.
Depois de instalado o Framework vamos ao que interessa, como utiliza-lo.
Atenção: O arquivo do projeto que deverá ser utilizado possui o formato “.xcworkspace”
Para testar se o Framework foi adicionado com sucesso, basta adicionar a biblioteca STTwitter.h
[sourcecode language=”objc” wraplines=”false” collapse=”false”]
#import <STTwitter.h>
[/sourcecode]
Em seguida crie dois objectos, um do tipo STTwitter que será o responsável em realizar a comunicação com os servidores do Twitter e um do tipo NSArray que irá armazenar os resultados.
[sourcecode language=”objc” wraplines=”false” collapse=”false”]
@property (nonatomic, strong) STTwitterAPI *twitter;
@property (nonatomic, strong) NSArray *results;
[/sourcecode]
Feito isso, na função viewDidLoad, iremos registrar o objeto STTwitter com o Consumer Key e Consumer Secret, esses valores podem ser obtidos na página de Desenvolvedor do Twitter, basta cadastrar seu programa para que ele tenha acesso aos resultados do Twitter.
Dica Rápida: Após cadastrar seu programa, entre nas configurações na página de Desenvolvedor do Twitter, conforme mostrado a seguir e clique na opção Test OAuth.
Pronto, será exibido o Consumer Key e Consumer Secret que iremos precisar na nossa aplicação:
O Código da função ViewDidLoad ficará assim:
[sourcecode language=”objc” wraplines=”false” collapse=”false”]
– (void)viewDidLoad
{
[super viewDidLoad];
twitter = [STTwitterAPI twitterAPIAppOnlyWithConsumerKey:@"ysMF21l8nwklyM6QCtvUDw"
consumerSecret:@"mpDQtaXdzlG8rouDy9GvobY0g926IkkKhM1aTSeNB8A"];
}
[/sourcecode]
Agora, vamos criar uma função para configurar o objeto STTwitter com as informações que desejamos pesquisar no Twitter e fazer a solicitação.
No Exemplo a seguir, realizamos uma pesquisa pelos últimos 2 twits que possuem a palavra UFOP.
[sourcecode language=”objc” wraplines=”false” collapse=”false”]
– (void) refreshTwitter {
NSLog(@"twitter");
[twitter verifyCredentialsWithSuccessBlock:^(NSString *bearerToken) {
[twitter getSearchTweetsWithQuery:@"UFOP"
geocode:nil
lang:nil
locale:nil
resultType:nil
count:@"2"
until:nil
sinceID:nil
maxID:nil
includeEntities:nil
callback:nil
successBlock: ^(NSDictionary *searchMetaData, NSArray *statusesConrado){
self.results = statusesConrado;
NSString *user;
NSString *comment;
NSString *img;
NSString *date;
for (NSDictionary *twit in self.results) {
user = [twit valueForKeyPath:@"user.screen_name"];
comment = [twit valueForKey:@"text"];
img = [twit valueForKeyPath:@"user.profile_image_url"];
date = [twit valueForKey:@"created_at"];
NSLog(@"User: %@ ",user);
NSLog(@"Comentario: %@",comment);
NSLog(@"Data: %@",date);
NSLog(@"ImgUserProfile: %@",img);
NSLog(@"\n\n");
}
} errorBlock:^(NSError *error) {
NSLog(@"Error1");
}
];
} errorBlock:^(NSError *error) {
NSLog(@"Error2");
}];
}
[/sourcecode]
Agora basta chamar no ViewDidLoad a função que foi criada:
[sourcecode language=”objc” wraplines=”false” collapse=”false”]
– (void)viewDidLoad
{
[super viewDidLoad];
twitter = [STTwitterAPI twitterAPIAppOnlyWithConsumerKey:@"ysMF21l8nwklyM6QCtvUDw"
consumerSecret:@"mpDQtaXdzlG8rouDy9GvobY0g926IkkKhM1aTSeNB8A"];
[self refreshTwitter];
}
[/sourcecode]
O resultado será exibido no Console, conforme mostrado na imagem:
No proximo tutorial, iremos ensinar a exibir os resultados obtidos do twitter em uma TableView.