我一直在尝试使用我的RoR应用程序连接到Facebook API一天没有任何运气。我正在使用Ruby on Rails和Koala。
如果我尝试连接如下:
graph = Koala::Facebook::API.new(User_Token)
然后没有问题。 (从https://developers.facebook.com/tools/access_token/获得用户令牌的地方)
问题是用户令牌过期。我知道有一种方法可以扩展应用用户令牌,但我宁愿不诉诸于此。
相反,我正在尝试验证我的应用程序以获取APP访问令牌,我可以使用它来代替用户令牌(根据https://developers.facebook.com/docs/facebook-login/access-tokens#apptokens。请注意这是指App Access Token,而不是App在第一个链接中引用的令牌。)
为了获得App Access Token,我已经按照教程并在我的控制器中提供了这段代码:
id = <my app id>
secret = <my app secret>
callbackUrl = "http://localhost:3000/events/appcallback"
@ouath = Koala::Facebook::OAuth.new(id, secret, callbackUrl)
redirect_to @oauth.url_for_oauth_code()
在我的routes.rb中我有:
match "events/appcallback" => "events#appCalledBack", via: :get
这纯粹是为了测试回调的效果。
我的意图是做一些像:
App_Access_Token = @oauth.get_access_token(params[:code])
但我得到一个错误: EventsController #index中的NoMethodError 未定义的方法`url_for_oauth_code'为nil:NilClass
请注意,我对获取用户的访问令牌不感兴趣;我想要一个用于我的应用程序,以便我可以连接到api a la:
graph = Koala::Facebook::API.new(App_Access_Token)
非常感谢任何帮助。
答案 0 :(得分:0)
因此,您的路线似乎是错误的,因为它会转到EventsController#index
。你能发布一些日志和相关路线吗?