我正在开发一个符合以下要求的网站:
示例流程:
1.约翰访问http://www.mysite.com
2. John单击Facebook连接按钮并使用他的facebook凭据登录
约翰点击“邀请朋友”按钮。朋友选择器对话框出现
约翰选择玛丽并提交邀请/请求/消息
5. Mary收到如下链接:http://www.mysite.com?name=Mary
6. Mary点击facebook中的链接,并重定向到上面的URL
7.我的网站显示:“Hello Mary!”,从URL参数
我已经设法完成步骤1-4 我问的是第5步。这有可能吗?我知道我可以获取在多朋友选择器中选择的人的facebook ID,并且我可以创建FBQL查询来检索所选人员的姓名,但是如何自定义发送的URL?
干杯,
纳乔
答案 0 :(得分:2)
好吧,如果用户将为大量朋友发送邀请,那么这些邀请将不会是“被邀请者独特”(正如@Jimmy所提到的)。但是您仍然可以从请求本身捕获唯一的“朋友ID”和(我猜)名称!
您需要做的是:
类似的东西:
<?php
if( isset($_REQUEST['request_ids']) ) {
// Requesting an application token
$APPLICATION_ID = "APP_D";
$APPLICATION_SECRET = "APP_SECRET";
$token_url = "https://graph.facebook.com/oauth/access_token?" .
"client_id=" . $APPLICATION_ID .
"&client_secret=" . $APPLICATION_SECRET .
"&grant_type=client_credentials";
$app_token = file_get_contents($token_url);
// You may have more than one request, so it's better to loop
$requests = explode(',',$_REQUEST['request_ids']);
foreach($requests as $request_id) {
// Get the request details using Graph API
$request_content = json_decode(file_get_contents("https://graph.facebook.com/$request_id?$app_token"), TRUE);
// An example of how to get info from the previous call
$to_name = $request_content['to']['name'];
// When all is done, delete the requests because Facebook will not do it for you!
$deleted = file_get_contents("https://graph.facebook.com/$request_id?$app_token&method=delete"); // Should return true on success
echo "<script>top.location.href='http://www.mysite.com?name=" . urlencode($to_name) . "'</script>";
}
}
?>
有关详细信息,请阅读以下内容:
答案 1 :(得分:0)
当推介用户登陆您的网站时,您需要知道他们的Facebook用户ID或您计划显示的所有信息。使用用户ID会更容易,更易于扩展,为了得到这个,你需要让用户安装你的应用程序才能识别它们,查找他们的名字,然后说“Hello Mary!”
我在这里做的是让推荐用户共享为他定制的链接。所以,如果我是A,并且我与朋友分享,我的链接看起来就像http://www.somedomain.com/?ref=A
。我分享了这个,我的朋友B点击链接。当B到达安装屏幕时,他安装,现在我们知道B的名字,因为我们有ref
参数,我们知道他点击了我的链接。 (这就是Groupon和Dropbox处理推荐链接的方式。)
要更清楚地回答您的问题,否,您使用多朋友选择器发送的每个邀请的邀请链接必须相同,因此每个被邀请者链接不是一个选项。< / p>