也许是初学者问题:
我正试图通过考拉来检查我的用户权限.在某些情况下,我会被抛出错误.所以我只想抓住它并重定向以重新进行身份验证.
def check_facebook_permissions
if token = current_user.try(:authentications).find_by_provider('facebook').try(:token)
graph = Koala::Facebook::API.new(token)
permissions = graph.get_connections('me','permissions')
session[:facebook] = {}
session[:facebook][:ask_publish_actions] = true if permissions[0]['publish_actions'] != true && permissions[0]['publish_stream'] != true
end
rescue_from Koala::Facebook::APIError
# Do something funky here
end
Run Code Online (Sandbox Code Playgroud)
我觉得这很简单,但我从来没有打过我的救援.相反,我得到:
Koala::Facebook::APIError (OAuthException: Error validating access token: Session has expired at unix time 1324026000. The current unix time is 1324352685.):
Run Code Online (Sandbox Code Playgroud)
我在这里错过了什么?
ruby exception-handling facebook-graph-api ruby-on-rails-3 koala
我正在尝试使用Koala/Omniauth添加来自用户的应用请求
@graph = Koala::Facebook::API.new(current_user.omnitoken)
@graph.put_object("me", "apprequests", {:appid => MY_APP_ID, :to => USER_ID, :message => "Come join me!"} )
Run Code Online (Sandbox Code Playgroud)
我没有收到任何错误,但请求没有到达用户.代码是否正确/我错过了什么?
编辑:我邀请的用户尚未(尚未)接受该应用程序,但是IS邀请的用户是否可以这样做或者是否需要用户弹出窗口?
我在使用新安装的宝石时遇到了麻烦 - 我认为必须有一些我遗漏的东西,因为我遇到了与fb_graph和考拉同样的错误.我将gem添加到我的gemfile然后bundle install编辑它.我认为这就是你所要做的所有事情,所以我尝试在github上使用他们各自的wiki中演示的命令来查看它们是否适合我.
在Koala的情况下,我将行添加@graph = Koala::Facebook::GraphAPI.new到我显示的Pages控制器中pages#home.我收到了错误uninitialized constant PagesController::Koala.
在FB_Graph的情况下,我添加了该行user = FbGraph::User.me(ACCESS_TOKEN)并得到了错误uninitialized constant PagesController::FBGraph.
很明显,我没有做正确的事情 - 也许有一些关于配置我安装的宝石的东西我不知道 - 不太确定.我之前从未真正搞过FB API,所以错误可能与FB宝石特别相关.请指教.
如何使用考拉发布到用户页面?我不想发布到用户的墙上,而是发布到用户页面(用户可以管理多个页面).
我现在的代码是这样的:
facebook_graph = Koala::Facebook::GraphAPI.new(self.token)
facebook_graph.put_wall_post(message)
Run Code Online (Sandbox Code Playgroud)
而且我知道你可以做到这一点
facebook_graph.put_wall_post(message, profile_id="page.id")
Run Code Online (Sandbox Code Playgroud)
self.token已经在manage_pages的范围内,但我甚至认为没有必要.那么,你如何使用考拉发布到我拥有访问令牌的用户的特定页面?如何发现特定用户的页面及其对应的ID?
我正在开发一个Facebook搜索,我想列出所有的页面类别(不相关,但我正在使用koala ruby gem):
使用type ="page"进行搜索的结果如下:
{"category"=>"Community", "name"=>"Koala", "id"=>"7356642860"}
{"category"=>"Product/service", "name"=>"Koala Groupe", "id"=>"188919981197745"}
{"category"=>"Public figure", "name"=>"Cushelle Koala", "id"=>"109202405786555"}
{"category"=>"Dancer", "name"=>"Koala Dance Bots", "id"=>"208563099183596"}
{"category"=>"Musician/band", "name"=>"Kid Koala", "id"=>"17527901121"}
{...}
Run Code Online (Sandbox Code Playgroud)
我正在尝试开发一个表单,以允许用户实现更精确的搜索.
然后,我希望用户有一个类别列表,但是:如何获取Facebook页面类别列表?
我正在使用Koala 1.7.0rc1和新的Facebook图形api面临一个问题.我正在尝试使用此请求检索帖子的数量[object_id]/likes?summary=1.此查询适用于Facebook Graph Explorer,但我无法使用Koala访问"摘要":
likes = graph.get_object("5718732097_10151698726822098", summary: 1){|data| data['likes']}
# OR
likes = graph.get_object("5718732097_10151698726822098/likes?summary=1")
Run Code Online (Sandbox Code Playgroud) facebook facebook-graph-api facebook-javascript-sdk facebook-php-sdk koala