- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试使用 Koala 让 Facebook Graph API 在 Rails 2.3.5 中工作。在我的开发环境 (Mac) 中一切正常,但在生产环境 (Ubuntu 8.04.1) 中失败。
测试代码:
cookies = {"__utma"=>"158657023.1470934917.1315425280.1317394623.1317406089.55", "28aac256bbbe09dcae1eb7086ae1c326"=>"c14d42fcd1a6700aa6198a2ecd7587fa", "fbsetting_28aac256bbbe09dcae1eb7086ae1c326"=>"{\"connectState\":1,\"oneLineStorySetting\":3,\"shortStorySetting\":3,\"inFacebook\":false}", "__utmb"=>"158657023.23.10.1317406089", "28aac256bbbe09dcae1eb7086ae1c326_session_key"=>"c76e09e8124a194e26a9c1e9.1-635077092", "28aac256bbbe09dcae1eb7086ae1c326_user"=>"635077092", "__utmc"=>"158657023", "28aac256bbbe09dcae1eb7086ae1c326_expires"=>"0", "__utmz"=>"158657023.1317406089.55.52.utmcsr=angel.co|utmccn=(referral)|utmcmd=referral|utmcct=/thingspotter", "fbs_265881436784759"=>"\"access_token=AAADx0ViXiHcBAFMuyXsGRdZB4GmmHyZBQl9h7Ymqi6z0kk3ko5jRJGmdWZCdJQm7dWg2nCyraaZCJuJ6iurPxDHL6bZCMzosZD&expires=0&secret=815a69d93434d26034ada92bb2e80ae9&session_key=858594415a361e318af23dd1.1-635077092&sig=55f7e932f8e68a7dad6ae35af1877b45&uid=635077092\"", "_DefaultAppFacebook_session"=>"BAh7CToPc2Vzc2lvbl9pZCIlYzZjZGU5ZmJlNGU0NTM2ZjExNmQ1ZGQ5ZTc3ZjhiZDUiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhhc2h7AAY6CkB1c2VkewA6EF9jc3JmX3Rva2VuIjFnZllGbGFVK0hMdVdZcDZaZjhJY3VJWVlZY2dEakc4VCtpM0dWTktSbFFRPSILbGF5b3V0IgxkZXNrdG9w--195b2d14ce7593502ec6d161906ceb0c38ed4219", "28aac256bbbe09dcae1eb7086ae1c326_ss"=>"0854c086618a5e075e2d9a866ce03f82"}
@facebook_cookies = Koala::Facebook::OAuth.new.get_user_info_from_cookie(cookies)
oauth_access_token = @facebook_cookies["access_token"]
graph = Koala::Facebook::GraphAPI.new(oauth_access_token)
fb_user = graph.get_object('me')
产生错误信息:
OpenSSL::SSL::SSLError: certificate verify failed
from /usr/lib/ruby/1.8/net/http.rb:586:in `connect'
from /usr/lib/ruby/1.8/net/http.rb:586:in `connect'
from /usr/lib/ruby/1.8/net/http.rb:553:in `do_start'
from /usr/lib/ruby/1.8/net/http.rb:542:in `start'
from /usr/lib/ruby/1.8/net/http.rb:1035:in `request'
from /usr/lib/ruby/1.8/net/http.rb:772:in `get'
from /usr/lib/ruby/gems/1.8/gems/faraday-0.7.4/lib/faraday/adapter/net_http.rb:49:in `call'
from /usr/lib/ruby/gems/1.8/gems/faraday-0.7.4/lib/faraday/request/url_encoded.rb:14:in `call'
from /usr/lib/ruby/gems/1.8/gems/faraday-0.7.4/lib/faraday/request/multipart.rb:13:in `call'
from /usr/lib/ruby/gems/1.8/gems/faraday-0.7.4/lib/faraday/connection.rb:203:in `run_request'
from /usr/lib/ruby/gems/1.8/gems/faraday-0.7.4/lib/faraday/connection.rb:85:in `get'
from /usr/lib/ruby/gems/1.8/gems/koala-1.2.0/lib/koala/http_service.rb:49:in `send'
from /usr/lib/ruby/gems/1.8/gems/koala-1.2.0/lib/koala/http_service.rb:49:in `make_request'
from /usr/lib/ruby/gems/1.8/gems/koala-1.2.0/lib/koala.rb:131:in `make_request'
from /usr/lib/ruby/gems/1.8/gems/koala-1.2.0/lib/koala.rb:57:in `api'
from /usr/lib/ruby/gems/1.8/gems/koala-1.2.0/lib/koala/graph_api.rb:215:in `graph_call'
from /usr/lib/ruby/gems/1.8/gems/koala-1.2.0/lib/koala/graph_api.rb:36:in `get_object'
很明显是SSL证书相关的东西,所以我尝试配置Koala:
Koala.http_service.http_options = {
:ssl => {
:ca_file => '/etc/ssl/certs',
:verify_mode => OpenSSL::SSL::VERIFY_PEER,
:verify => true
}
}
...并下载 http://curl.haxx.se/ca/cacert.pem到 /etc/ssl/certs 文件夹。虽然没有任何明显的区别。
相关的 gem 是:
faraday (0.7.4)
koala (1.2.0)
rails (2.3.5)
ruby 1.8.6 (2007-09-24 patchlevel 111) [i486-linux]
我找到了 related SO posts但没有完美匹配。
最佳答案
我在 Rails 3.2、Ruby 1.9.3、Ubuntu 11.10 上遇到了同样的问题
除了证书文件现在是 ca-certificates.crt 之外,TenJack 的回答有效,所以:
Koala::HTTPService.http_options[:ssl] = {:ca_file => '/etc/ssl/certs/ca-certificates.crt'}
关于ruby-on-rails - Rails 2.3.x & 考拉 & Facebook : certificate verify failed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7615750/
我在使用 Koala 1.7.0rc1 和新的 Facebook 图形 API 时遇到了问题。我正在尝试使用此请求检索帖子的点赞数 [object_id]/likes?summary=1 .此查询适用
我是 Rubyonrails 和 Koala gem 的新手,我确定我做错了什么。我一直在将我的代码调整为最小表达式,但问题仍然存在。然后我尝试在没有 koala gem 的情况下做同样的事情,但问题
我试图通过首先访问用户相册,通过 Koala gem 在我的 Rails 3.12 应用程序上显示 Facebook 相册照片。我知道如何获取相册: u.facebook.get_connection
我有一个使用 omniauth 对 Facebook 用户进行身份验证的应用程序。我正在获取我需要的所有数据,包括访问 token 。我正在使用 Koala gem 与工作正常的 Facebook 图
我正在使用 Koala gem:https://github.com/arsduo/koala从 facebook 图形 API 检索结果页面。 [编辑] 我按如下方式构造@graph 对象: @fa
我正在尝试使用 Koala 让 Facebook Graph API 在 Rails 2.3.5 中工作。在我的开发环境 (Mac) 中一切正常,但在生产环境 (Ubuntu 8.04.1) 中失败。
我是一名优秀的程序员,十分优秀!