Ho combattuto questo problema tutto il giorno e avrei potuto davvero bisogno di qualche input.Facebook Open Graph da Rails Heroku
Ho un'applicazione Rails (3.1.3) in esecuzione su Heroku Cedar, cercando di pubblicare alcune azioni di Facebook Open Graph con gem fb_graph (2.4.0).
Questo è il mio codice.
begin
app = FbGraph::Application.new(ENV['facebook_app_id'])
me = FbGraph::User.me(user.facebook_access_token)
logger.info "Facebook: User #{user.name} reviewing game #{game_url(review.game)}"
action = me.og_action!(
app.og_action(:review),
:game => game_url(review.game),
:content => review.review,
:rating => review.rating
)
rescue Exception => exc
logger.error "Failed to publish review #{review.id} to facebook #{user.facebook_auth}"
logger.error "Facebook error msg: #{exc.message}"
end
Se vado alla pagina dell'applicazione che tenterà di eseguire questo codice, non riuscirà con il seguente messaggio.
FbGraph::InvalidRequest (Exception :: Could not retrieve data from URL.)
Ma, se io dove aprire una console Heroku, heroku run console
e digitare il codice a mano, funziona perfettamente.
Il mio primo pensiero è stato quello di dare la colpa a game_url(review.game)
, ma dopo aver aggiunto il messaggio di registro, sono sicuro che restituisce l'URL corretto. E poiché tutto funziona quando lo eseguo manualmente attraverso la console di heroku, conferma che l'URL è accessibile e fornisce i dati richiesti.
Qualsiasi feedback o esperienza con questo è molto apprezzato.
Hai provato a cambiare ENV [ 'facebook_app_id'] e compreso l'ID proprio lì? Ho avuto problemi con Facebook e variabili di ambiente prima. – Ashitaka
Valeva la pena provare, ma purtroppo nessun effetto. Ho anche provato ad aggiungere il segreto, anche se non dovrebbe essere necessario. –
Fb_graph aggiornato alla versione 2.4.7 senza alcun effetto. –