我是一个Rails新手,正在学习如何发送facebook应用程序请求。我还没有找到太多关于在Rails中做到这一点的文档,所以我想问问我是否在正确的轨道上,或者是否有更好的方法来做到这一点。现在,我正在遍历收件人in,然后将sender_id、recipient_id和request_id存储在数据库中。这是我在这一点上的想法:
$(document).ready(function() {
$('#button').click(sendRequest);
function sendRequest() {
FB.ui({
method: 'apprequests',
message: 'Check out this application!',
title: 'Send your friends an application request',
},
function (response) {
if (response.request && response.to) {
var request_ids = [];
for(i=0; i<response.to.length; i++)
{
var temp = response.to[i];
var temptwo= response.request;
$.ajax({
type: 'POST',
url: "http://localhost:3000/fbusers",
data: {request : {
recipient_id : temp,
sender_id: <%=@user.fb_uid%>,
request_id: temptwo}},
dataType: 'json',
success: function(data) {
var obj= "hello there"
alert(obj);
},
});
}
} else {
alert('canceled');
}
});
return false;
}控制器只有以下内容:
def create
User.create(params[:request] )
end 在这一点上,我主要关心的是(1)这种方法是否被认为是“良好的实践”,以及(2)是否有更快(就运行时而言)、更有效的方式来编写它。我基本上遵循了这个教程(只做了一些修改),它是为php编写的:
http://www.masteringapi.com/tutorials/how-to-send-an-application-request-using-the-facebook-graph-api/44/
如果有更好的方法,或者我在正确的轨道上,请告诉我。此外,该教程将所有收件人合并到一个字符串中,然后在mysql中“分解”它们。我不清楚这是什么意思,也不清楚在ajax post函数中循环是否有负面影响。对于这个冗长的问题,我深表歉意,任何帮助都将不胜感激。
发布于 2011-10-21 22:13:20
我向您推荐的是Koala gem。易于与基于Rails或Sinatra的应用程序一起使用。
发布于 2012-03-26 06:52:44
本教程将所有收件人合并到一个字符串中的事实是能够保存所有收件人的id (使用您的代码,您只需保存第一个收件人的id )!展开用于将每个单个收件人保存在一个表中,这样您可以在将false或true设置为boolean参数后,并在不删除请求的情况下监控谁接受了您的请求,谁没有接受您的请求:)
你也可以看看fb_graph gem,他们添加了对app_request的部分支持。
希望这能有所帮助:) Dinuz
https://stackoverflow.com/questions/7845613
复制相似问题