5

关于:

http://rubydoc.info/github/arsduo/koala/master/koala/Facebook/GraphAPIMethods#graph_call-实例方法

http://developers.facebook.com/路线图/offline-access-removal/#extend_token


我的代码如下所示:

fb=考拉::脸书::API.new(access_token)fb.graph_call(“/oauth/access_token”,{“client_id”=>app_id,“client_secret”=>应用安全,“grant_type”=>“fb_exchange_token

虽然返回值包含扩展标记,但它正在引发MultiJson::DecodeError

MultiJson::解码错误:387:“access_token=long-lived_token&expires=5184000]”处出现意外标记来自/usr/local/rvm/gems/ruby-1.9.2-p136@点云/gems/json-1.6.1/lib/json/common.rb:148:在“parse”中来自/usr/local/rvm/gems/ruby-1.9.2-p136@点云/gems/json-1.6.1/lib/json/common.rb:148:在“parse”中来自/usr/local/rvm/gems/ruby-1.9.2-p136@点云/gems/multi_json-1.0.3/lib/multi.json/engines/json_gem.rb:13:in“解码”来自/usr/local/rvm/gems/ruby-1.9.2-p136@点云/gems/multi_json-1.0.3/lib/multi.json.rb:65:在“解码”中来自/usr/local/rvm/gems/ruby-1.9.2-p136@点云/gems/koala-1.3.0/lib/koala/api.rb:61:在“api”中来自/usr/local/rvm/gems/ruby-1.9.2-p136@点云/gems/koala-1.3.0/lib/koala/api/graphapi.rb:421:在“graph_call”中来自(irb):7来自/usr/local/rvm/gems/ruby-1.9.2-p136@点云/gems/railties-3.1.3/lib/rails/commands/console.rb:45:在“start”中来自/usr/local/rvm/gems/ruby-1.9.2-p136@点云/gems/railties-3.1.3/lib/rails/commands/console.rb:8:在“start”中来自/usr/local/rvm/gems/ruby-1.9.2-p136@点云/gems/railties-3.1.3/lib/rails/commands.rb:40:in“<top(required)>”来自script/rails:6:在“require”中来自script/rails:6:在“<main>”中

我怀疑结局]这就是导致错误的原因。不确定这是不是我的脸书错误或处理不当。感谢有人能帮我。谢谢!


我还尝试使用Net::HTTP.get(uri)。但得到了以下错误。

错误号::ECONNRESET:对等方重置连接来自/usr/local/rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/net/protocol.rb:135:在“read_nonblock”中来自/usr/local/rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/net/protocol.rb:135:在“rbuf_fill”中来自/usr/local/rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/net/protocol.rb:116:in“readuntil”来自/usr/local/rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/net/protocol.rb:126:在“readline”中来自/usr/local/rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/net/http.rb:2211:in“read_status_line”来自/usr/local/rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/net/http.rb:2200:在“read_new”中来自/usr/local/rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/net/http.rb:1183:在“transport_request”中来自/usr/local/rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/net/http.rb:1169:in `request'来自/usr/local/rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/net/http.rb:1073:在“request_get”中来自/usr/local/rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/net/http.rb:394:in“get_response中的块”来自/usr/local/rvm/rubies/ruby-1.9.2-p136/lib/rube/1.9.1/net/http.rb:627:在“开始”中来自/usr/local/rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/net/http.rb:393:in `get_response'来自/usr/local/rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/net/http.rb:370:in `get'来自(irb):11来自/usr/local/rvm/gems/ruby-1.9.2-p136@点云/gems/railties-3.1.3/lib/rails/commands/console.rb:45:在“start”中来自/usr/local/rvm/gems/ruby-1.9.2-p136@点云/gems/railties-3.1.3/lib/rails/commands/console.rb:8:在“start”中来自/usr/local/rvm/gems/ruby-1.9.2-p136@点云/gems/railties-3.1.3/lib/rails/commands.rb:40:in“<top(required)>”来自script/rails:6:在“require”中来自script/rails:6:在“<main>”中

不确定是防火墙还是什么?

1答案1

重置为默认值
6

使用OAuth交换访问令牌信息方法:

oauth=Koala::Facebook::oauth.new(“consumer_token”,“consuder_secret”)oauth.exchange_access_token_info(“auth_token”)

附言:我也收到了你用自己的方式做的错误。问题是,考拉希望响应正文是JSON格式,但在这种特殊情况下,它实际上是URL(查询字符串)格式的名称/值对,例如:

access_token=[…]&expires=[…]
1
  • 1
    这些变量“consumer_token”、“consuder_secret”和“auth_token“具体指的是什么?这些都没有提及约翰·李在他的问题中提供的任何内容。 评论 2016年11月12日8:17

您的答案

单击“发布您的答案”,表示您同意我们的服务条款并确认您已阅读我们的隐私政策.

不是你想要的答案吗?浏览标记的其他问题问你自己的问题.