Written by: Helio Loureiro
Category: Python
Hits: 9125

Na primeira parte da série de artigos sobre como escrever uma aplicação em python-twitter, apresentei como baixar e instalar os pacotes necessários.  E ainda uma sugestão para utilizar uma versão a mais do python-twitter, 0.8.2.

Agora falta comentar como criar sua configuração no twitter e como utilizar as chaves para autenticação com python-oauth2.

Tendo uma conta aberta no twitter, a criação da aplicação se faz através do http://dev.twitter.com.

Clicando em "Your apps" se obtém acesso ao sistema de criação e gerenciamento de aplicações.

 

Para criar uma aplicação, caso ainda não tenha uma, clique em "Register a new app" no menu da direita.

O item "Aplication Name", que parece não ter relação nenhuma além de um nome pra se lembrar, é o que cria a referência de aplicativo utlizado para posts no Twitter (aparece na parte de baixo de um post).  Então um nome legal faz toda a diferença, tal qual batizar um filho.

Também percebi que não é possível utilizar nomes já existentes, tanto que tentei registrar o nome da minha aplicação como "python-twitter" e o sistema não permitiu, então utilizei "python-tweeter".

Crie o aplicativo como "cliente", pra evitar troca de chaves via web e  com permissão de "leitura e escrita".

Criada a sua aplicação, agora é hora de olhar a parte de credencias para seu uso com o módulo oauth2, ou melhor, python-oauth2.

Utilizando python-twitter, com oauth2 pra autenticação, cria-se um objeto de tweet como abaixo:

tweet = twitter.Api(
    consumer_key = '9zz1zuWjMy0aKm2d6HK20Q',
    consumer_secret = 'd5xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
    access_token_key = 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy',
    access_token_secret = 'zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz'
    )

A nomenclatura das informações necessárias são muito parecidas com as utilizadas pelo Twitter, facilitando a localização dos mesmos.  "Consumer Key" no Twitter refere-se à consumer_key no python-oauth2, "Consumer Secret" à consumer_secret, "Access Token (oauth_token)" à access_token_key e "Access Token Secret (oauth_token_secret)" à access_token_secret.

Após criado seu aplicativo, basta clicar no mesmo para ver tais dados.  Pelo que pude perceber, o ÄPI Key" e "Consumer Key" são os mesmos, mas os dados sobre seu aplicativo mostram primeiramente o "API Key".

Isso já completa parcialmente os dados necessários para autenticação.  Os dados seguintes referem-se às credenciais de usuário, que não utilizará a web para se autenticar, como foi selecionado anteriormente.  Nesse caso é possível encontrar tais dados no menu da direita, ainda dentro dos detalhes da aplicação.

Basta clicar em "My Access Token" para obter as informações necessárias.

Com essas informações em mãos, já é possível fazer um pequeno teste seguido de um "Hello World" no Twitter totalmente em Python:


#! /usr/bin/python
import twitter

tweet = twitter.Api(
    consumer_key = '9zz1zuWjMy0aKm2d6HK20Q',
    consumer_secret = 'd5xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
    access_token_key = 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy',
    access_token_secret = 'zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz'
    )

print tweet.VerifyCredentials()
print tweet.GetPublicTimeline()
tweet.PostUpdate("Hello World")