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. Mostrar un feed de webcam usando OpenCV y Python
- 2. Generación de feed RSS en Rails 3
- 3. Consumir API REST desde la aplicación Rails
- 4. ¿Cómo obtengo FullCalendar para mostrar información de mi feed JSON?
- 5. ¿Cómo enviar correo desde la aplicación iphone sin mostrar MFMailComposeViewController?
- 6. Adición de HTML a mi feed RSS/Atom en Rails
- 7. ¿Cómo twittear desde la aplicación de Android?
- 8. ¿Cómo obtener la versión actual de Git commit desde la aplicación Rails?
- 9. Mostrar la notificación de barra de estado desde un BroadcastReceiver
- 10. Instalador de la aplicación Rails
- 11. Ruby on Rails: mostrar condicionalmente un
- 12. ¿Configuraciones de la aplicación Rails?
- 13. Creación de "feeds" desde múltiples modelos diferentes de Rails
- 14. No mostrar el diseño de la aplicación en la ventana emergente usando Rails
- 15. ¿Cómo anular las rutas de la aplicación Rails desde un motor?
- 16. Cómo mostrar un DialogFragment desde un controlador
- 17. ¿Cómo mostrar la ventana de salida desde un complemento?
- 18. Ejecutando phantomjs desde una aplicación de Ruby on Rails
- 19. Aislamiento de un enlace en RSS Feed
- 20. ¿Es posible obtener un feed RSS de un reddit con enlaces a publicaciones con X upvotes?
- 21. RSS de ASP.Net feed
- 22. Mostrar imágenes en la aplicación de AIR
- 23. ¿Cómo incrustar/montar la aplicación Rails existente en otra aplicación de Rails?
- 24. Cómo revertir la URL de feed django?
- 25. Importar Excel en la aplicación Rails
- 26. RubyMine no puede reconocer la aplicación Rails
- 27. Determine la versión de ruby desde Rails
- 28. ¿Cómo extraes las URL de feed de un archivo OPML exportado desde Google Reader?
- 29. ¿Cómo usar la aplicación Less in a rails 3.1?
- 30. Suscriptor AMQP dentro 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