Pude hacer que un usuario inicia sesión con Twitter a través de OmniAuth (seguí Railscast # 235-6 e hice una aplicación simple). Ahora estoy tratando de mostrar el feed de Twitter del usuario conectado. ¿Alguien puede decirme cómo se hace esto? ¿Cómo inicializo Twitter? ¿Cómo paso el nombre de usuario y la contraseña del usuario que inició sesión? Soy nuevo en Rails, así que sería útil si supiera exactamente dónde poner el código. GraciasMostrar un feed de Twitter desde la aplicación Rails
Respuesta
En primer lugar, no necesita credenciales de usuario para obtener un feed de Twitter si es público. Mira el Twitter gem. Una vez que instale la gema, todo lo que tiene que hacer es:
require 'twitter'
Twitter.user_timeline("icambron")
ensayamos IRB para empezar. Bastante fácil, ¿verdad?
Ahora, es probable que desee utilizar su clave API porque Twitter limita las solicitudes anónimas, y puede ser problemático desde un servidor compartido. Hacer eso en un initializer:
Twitter.configure do |config|
config.consumer_key = YOUR_CONSUMER_KEY
config.consumer_secret = YOUR_CONSUMER_SECRET
config.oauth_token = YOUR_OAUTH_TOKEN
config.oauth_token_secret = YOUR_OAUTH_TOKEN_SECRET
end
obtener los valores reales de su página de Twitter desarrollador.
Finalmente, para ser realmente elegante, si desea ampliar, puede realizar la solicitud en nombre del usuario, utilizando las credenciales de OAuth que obtuvo de OmniAuth (NO su nombre de usuario y contraseña; no tiene aquellos). Eso le permitirá hacer muchas más solicitudes por segundo, ya que provienen de diferentes usuarios. Simplemente inicie Twitter con los campos consumer_key
y consumer_secret
configurados con las cosas que obtuvo del hash OmniAuth (consulte here, busque debajo de "credenciales" para ver cómo obtenerlos de OmniAuth).
Gracias. No necesito ser elegante por el momento, pero me quedé colgado aquí, porque todavía no sé cómo poner esas cosas en el inicializador lleva a buscar los tweets del usuario conectado. ¿Podría mostrarme cómo usar el código de ejemplo que proporcionó (Twitter.user_timeline ("logged_in_users_username")) para hacer eso? – katherine
Además, ¿a qué te refieres con "solo iniciar Twitter ..."? – katherine
No entiendo su primera pregunta: el inicializador solo configura la joya de Twitter para que pueda conectarse a Twitter como su cuenta de desarrollador. La cosa 'user_timeline' es lo que usas en tu código para obtener los tweets del usuario. Usted conoce el manejo de Twitter del usuario (¿verdad?) Y usted sabe cómo obtener tweets para un identificador, para que los junte y obtenga los tweets de los usuarios que han iniciado sesión. –
clase Tweet
BASE_URL = "http://api.twitter.com/1.1/statuses/user_timeline.json"
SCREEN_NAME = "OMGFacts"
MAX_TWEETS = 10000
CONSUMER_KEY = "PMiAyrY5cASMnmbd1tg"
CONSUMER_SECRET = "0TYRYg0hrWBsr1YZrEJvS5txfA9O9aWhkEqcRaVtoA"
class << self
def base_url
BASE_URL
end
def screen_name
SCREEN_NAME
end
def url(count = MAX_TWEETS)
params = {:screen_name => screen_name, :count => count}
[base_url, params.to_param].join('?')
end
def prepare_access_token(oauth_token, oauth_token_secret)
consumer = OAuth::Consumer.new(CONSUMER_KEY, CONSUMER_SECRET,
{ :site => "http://api.twitter.com",
:scheme => :header,
})
# now create the access token object from passed values
token_hash = { :oauth_token => oauth_token,
:oauth_token_secret => oauth_token_secret,
:open_timeout => 500000000
}
access_token = OAuth::AccessToken.from_hash(consumer, token_hash)
return access_token
end
def get(count = MAX_TWEETS)
count = Preference.get(:2000).to_i
access_token = prepare_access_token("178394859-cJlRaiQvqVusPAPjqC2Nn7r3Uc7wWsGua7sGHzs","3T8LCZTYXzuPLGzmWX1yRnKs1JFpfJLKemoo59Piyl8")
response = JSON.parse access_token.request(:get, url).body
response[0...count]
end
end
end
- 1. ¿Filtrar @ respuestas en un feed de Twitter?
- 2. Twitter json feed?
- 3. ¿Cómo abrir la página de Twitter en la aplicación de Twitter desde mi aplicación de iPhone?
- 4. desinstalación Twitter Bootstrap de una aplicación Rails
- 5. Consumir API REST desde la aplicación Rails
- 6. Mostrar un feed de webcam usando OpenCV y Python
- 7. página abierta en aplicación de Twitter desde otra aplicación - Android
- 8. Generación de feed RSS en Rails 3
- 9. Publique "Hello World" en twitter desde la aplicación .NET
- 10. Agregar twitter-bootstrap-rails con una aplicación de rieles existente
- 11. ¿Cómo puedo abrir un tweet de Twitter usando la aplicación nativa de Twitter en iOS?
- 12. ¿Cómo se puede implementar el diálogo de feed desde Facebook en la aplicación Android?
- 13. Iniciar aplicación de Twitter
- 14. ¿Existe un "modo Rails" para doblar un tema de Twitter Bootstrap en una aplicación de Rails 3?
- 15. ¿Cómo obtengo FullCalendar para mostrar información de mi feed JSON?
- 16. ¿Cómo leo un feed público de Twitter usando .Net (en Windows Phone)?
- 17. ¿Cómo enviar correo desde la aplicación iphone sin mostrar MFMailComposeViewController?
- 18. ¿Sigue Twitter funcionando en Rails?
- 19. Cómo verificar callback_url en la aplicación twitter
- 20. Abre la aplicación Twitter desde otra aplicación y carga alguna página
- 21. Abrir página en la aplicación Facebook, Twitter y Google Plus desde otra aplicación - Android
- 22. Adición de HTML a mi feed RSS/Atom en Rails
- 23. ¿Cómo obtener la versión actual de Git commit desde la aplicación Rails?
- 24. Mostrar la notificación de barra de estado desde un BroadcastReceiver
- 25. ¿Cómo twittear desde la aplicación de Android?
- 26. Instalador de la aplicación Rails
- 27. Bourbon vs Twitter Bootstrap for Rails 3.1
- 28. ¿Cómo puedo acceder a los métodos de API de Twitter solo desde una aplicación web?
- 29. Ruby on Rails: mostrar condicionalmente un
- 30. ¿Configuraciones de la aplicación Rails?
Puede ser esto http://stackoverflow.com/questions/1665213/best-way-to-display-a-twitter-feed-with-history-on-a-rails -site ayuda. – gayavat
@gayavat Vi esa página. No muestra ningún código. Lo que necesito es saber exactamente qué tengo que escribir para obtener información del usuario registrado de Twitter. – katherine
El último comentario apunta a http://www.arctickiwi.com/blog/download-you-twitter-feed-using-ruby-on-rails-with-oauth donde está presente el ejemplo de código – gayavat