我正在尝试在进入画布应用程序后删除待处理的应用程序请求。我按照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示例?
答案 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