如何删除Facebook应用程序请求?

时间:2012-03-02 14:46:29

标签: ruby-on-rails facebook

我正在尝试在进入画布应用程序后删除待处理的应用程序请求。我按照https://developers.facebook.com/docs/requests/#deleting上的说明向文档中提到的URI发出HTTP DELETE请求,使用来自我的应用程序(从Graph API访问)的请求的请求ID以及用户访问令牌。我只收到一条错误消息,“您请求的某些别名不存在。”我怀疑我的格式化这个URI的方式存在问题。这就是我所做的,使用Ruby on Rails和HTTParty:

 HTTParty.delete("https://graph.facebook.com/#{outstanding_app_request_ids}?access_token=[#{session[:access_token]}]")

有没有人有成功删除这些请求的URI示例?

3 个答案:

答案 0 :(得分:3)

在我看来,在Ruby中使用Koala是最简单的:

@graph = Koala::Facebook.API.new(ACCESS_TOKEN) #Get access to graph
app_requests = @graph.get_connections(UID, 'apprequests') #Get app_requests

app_requests.collect {|request| request['id']}.each do |id|
   @graph.delete_object(id) # Delete app_request
end 

答案 1 :(得分:2)

我找到了一个使用Koala gem的更优雅的解决方案,并通过批量请求一举删除了未完成的应用程序请求。以下是获取请求的代码,以及一次删除所有请求。

@graph = Koala::Facebook::API.new(ACCESS_TOKEN)
raw_requests = @graph.get_connections("me", "apprequests")
app_request_ids = []
raw_requests.each do |request|
  app_request_ids << request["id"]
end
if app_request_ids.size > 0
  @graph.batch do |batch_api|
    app_request_ids.each do |app_request_id|
      batch_api.delete_object(app_request_id)
    end
  end
end

答案 2 :(得分:1)

打开此网址:

https://graph.facebook.com/{outstandingapprequestids}_{userid}?access_token=ACCESS_TOKEN&method=DELETE