Вопрос

Мой код:

  def start
    redirect_to client.authorization.authorize_url(:redirect_uri => callback_oauth_url,
                                                   :scope => "email,user_birthday,user_hometown,user_interests,user_location,user_notes,user_status,sms,publish_stream")
  end

  def callback
    access_token = client.authorization.process_callback params[:code], :redirect_uri => callback_oauth_url
    session[:access_token] = access_token
    render :json => client.selection.me.info! # <-- HERE IS THE ERROR >.<
  end

я пошел в /oauth/start/ и успешно вошел и позволил моему приложению. После этого Facebook перенаправил меня обратно в мое приложение, которое дало эту ошибку:

Omethoderror в oauthcontroller#обратный вызов

undefined method `encode_json' for true:TrueClass

Мы все ненавидим ошибки, и я тоже. Как я могу это исправить? Спасибо.

Это было полезно?

Решение

А info! Метод возвращает экземпляр FBGraph::Result, вам нужно позвонить data На нем, чтобы рельсы могли кодировать его в JSON. Следующий код отлично работает для меня:

render :json => client.selection.me.info!.data
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top