Sono stato in grado di consentire a un utente di accedere con Twitter tramite OmniAuth (ho seguito Railscast n. 235-6 e ho creato una semplice applicazione). Ora sto cercando di visualizzare il feed Twitter dell'utente che ha effettuato l'accesso. Qualcuno può dirmi come è fatto? Come inizializzare Twitter? Come posso passare il nome utente e la password dell'utente connesso? Sono nuovo di Rails quindi sarebbe utile se sapessi esattamente dove mettere il codice. GrazieVisualizzazione di un feed Twitter da un'app Rails
risposta
In primo luogo, non è necessario disporre delle credenziali dell'utente per ottenere un feed Twitter se è pubblico. Guarda lo Twitter gem. Una volta installato il gioiello, tutto quello che dovete fare è:
require 'twitter'
Twitter.user_timeline("icambron")
Prova ora a IRB per iniziare. Abbastanza facile, vero?
Ora, probabilmente si desidera utilizzare la chiave API perché Twitter limita le richieste anonime e può essere problematico da un server condiviso. Farlo in 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
ottenere i valori reali dalla tua pagina sviluppatore Twitter.
Infine, per essere davvero fantasioso, se si desidera scalare, è possibile effettuare la richiesta per conto dell'utente, utilizzando le credenziali OAuth ottenute da OmniAuth (NON il nome utente e la password, non si dispone quelli). Ciò ti consentirà di fare molte più richieste al secondo, perché provengono da utenti diversi. Basta inizializzare Twitter con i campi consumer_key
e consumer_secret
impostati su quello che hai ottenuto dall'hash OmniAuth (vedi here, guarda sotto "credenziali" per vedere come ottenerli da OmniAuth).
Grazie. Non ho ancora bisogno di essere sofisticato, ma sono rimasto un po 'in sospeso qui, perché ancora non so come mettere quell'inizializzatore a riportare i tweet dell'utente connesso. Potresti mostrarmi come usare il codice di esempio che hai fornito (Twitter.user_timeline ("logged_in_users_username")) per farlo? – katherine
Inoltre, cosa intendi con "Basta inizializzare Twitter ..."? – katherine
Non capisco la tua prima domanda: l'inizializzatore configura semplicemente la gemma di Twitter in modo che tu possa collegarti a Twitter come account del tuo sviluppatore. La cosa 'user_timeline' è ciò che usi nel tuo codice per ottenere i tweet dell'utente. Conosci l'handle di Twitter dell'utente (giusto?) E sai come ottenere i tweet per un handle, quindi li metti insieme e ottieni i tweet dell'utente connesso. –
classe 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. Creazione di "feed" da più modelli di Rails diversi
- 2. Filtra i feed Twitter solo per lingua
- 3. Come posso ottenere un feed twitter tramite una query "username"?
- 4. disinstallazione Twitter Bootstrap da un'applicazione Rails
- 5. Visualizzazione di un feed webcam utilizzando OpenCV e Python
- 6. Rails: @cars di visualizzazione come un elenco separato da virgole
- 7. Generazione di feed RSS in Rails 3
- 8. Feed Twitter in un'app per iOS: come posso ottenere un feed di elenco solo dal mio account [senza che l'utente dell'app debba essere collegato a Twitter]
- 9. Come posso creare un feed RSS/Atom in Rails 3?
- 10. Rails 5, Devise, Omniauth, Twitter
- 11. Esiste un "Rails Way" per piegare un tema di Bootstrap di Twitter in un'applicazione Rails 3?
- 12. Facebook feed pubblico API
- 13. Ottenere dati XML grezzi da un feed RSS di Feedburner
- 14. Alternative per la generazione di un feed video da screenshot
- 15. Iscriviti a un feed RSS
- 16. È possibile avere un codice HTML generato da un helper di visualizzazione Haml in Rails?
- 17. Feed della pagina di Facebook feed
- 18. Rails - Visualizzazione di riferimenti a chiave esterna in un modulo
- 19. Come posso ottenere un collegamento Instagram diretto da un'entità Twitter?
- 20. Ruby on Rails collection_select attributo di visualizzazione
- 21. Conteggio link Twitter da API REST Twitter
- 22. Come determinare a livello di codice se un feed RSS è un feed completo o un feed parziale
- 23. Distribuzione alla produzione in Rails 3.2.6 con Twitter-Bootstrap-Rails
- 24. Feed Parsing Feed RSS/Atom
- 25. Utilizzando organigramma visualizzazione di Google con Rails
- 26. Visualizzazione di un'immagine da un QAbstractTableModel
- 27. Come autenticare un feed RSS
- 28. Aggiunta di twitter-bootstrap-rails con un'app di binari esistente
- 29. Twitter gemma Consigliato per ruby-on-rails
- 30. Bootstrap Bourbon vs Twitter per Rails 3.1
Può essere questo http://stackoverflow.com/questions/1665213/best-way-to-display-a-twitter-feed-with-history-on-a-rails -site aiuta. – gayavat
@gayavat Ho visto quella pagina. Non mostra alcun codice. Quello di cui ho bisogno è sapere esattamente cosa devo digitare per recuperare le informazioni dal Twitter dell'utente che ha effettuato l'accesso. – katherine
Ultimo commento punta a http://www.arctickiwi.com/blog/download-you-twitter-feed-using-ruby-on-rails-with-oauth dove è presente l'esempio di codice – gayavat