首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Koala的URL请求错误

Koala的URL请求错误
EN

Stack Overflow用户
提问于 2013-04-06 16:01:49
回答 1查看 233关注 0票数 0

我的Koala for Rails实现有一个问题,它导致发送对话框出问题,因为我的站点的URL被Facebook认为是无效的。

下面是发生的情况:

1)当我在发送对话框中包含诸如herokuapp-japanized-tree- URL /restaurants/2这样的URL时,Facebook API认为它无效。(API错误100)

2)我调试了URL,当它们被远程访问时确实存在错误,就像Facebook的API用来验证链接的有效性一样。这只会在远程尝试期间发生,而不会在用户访问页面时发生。

3)我已经找出了代码中的弱点,它与Koala有关:

代码语言:javascript
复制
def set_access_token
        begin
        session['fb_cookie'] ||= Koala::Facebook::OAuth.new.get_user_info_from_cookie(cookies)
        @access_token = session['fb_cookie']["access_token"]
    rescue Koala::Facebook::OAuthTokenRequestError
        session['fb_cookie'] = nil
        set_access_token
    end

问题是,无论以前是否存在@access_token,它都保持为空。我认为这与在服务器上发出远程请求时没有设置cookie有关-因此所有内容都为空。

这是在Heroku日志中指出错误的日志-它与我在这句话上面显示的代码中的点相匹配:

代码语言:javascript
复制
2013-04-06T07:59:25+00:00 app[web.1]: Processing by SessionController#home as */*
2013-04-06T07:59:25+00:00 app[web.1]: 
2013-04-06T07:59:25+00:00 app[web.1]: NoMethodError (undefined method `[]' for nil:NilClass):
2013-04-06T07:59:25+00:00 app[web.1]:   app/helpers/session_helper.rb:18:in `set_access_token'
2013-04-06T07:59:25+00:00 app[web.1]:   app/helpers/session_helper.rb:58:in `parse_facebook_cookies'
2013-04-06T07:59:25+00:00 app[web.1]:   app/helpers/session_helper.rb:63:in `authenticate'
2013-04-06T07:59:25+00:00 app[web.1]: 
2013-04-06T07:59:25+00:00 app[web.1]: 
2013-04-06T07:59:25+00:00 app[web.1]: Completed 500 Internal Server Error in 0ms
2013-04-06T07:59:25+00:00 heroku[router]: at=info method=GET path=/home host=powerful-woodland-3700.herokuapp.com fwd="173.252.101.112" dyno=web.1 connect=1ms service=15ms status=500 bytes=643
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-07 02:49:43

这里的关键是,当FB远程ping我的URL时,它不会激活设置Koala访问的cookie的Javascript SDK。

我本可以开发一种不同的身份验证方法,但我的第一次尝试失败了,于是我在控制器中设置了以下行:

代码语言:javascript
复制
rescue_from NoMethodError, :with => :redirect_to_signin

我认为这也将捕获随机错误,如过期或销毁的cookie和各种其他不可预见的事件,并将用户重定向到登录页面。

任何关于以上的想法都将是非常受欢迎的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15848489

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档