从外部网站向Facebook好友发送个性化URL

时间:2011-05-04 23:08:46

标签: facebook url customization

我正在开发一个符合以下要求的网站:

  • 用户可以邀请他们的Facebook好友访问该网站
  • 邀请的朋友会收到一个指向该网站的个性化网址(消息,通知,请求......无关紧要)

示例流程:
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?

干杯,

纳乔

2 个答案:

答案 0 :(得分:2)

好吧,如果用户将为大量朋友发送邀请,那么这些邀请将不会是“被邀请者独特”(正如@Jimmy所提到的)。但是您仍然可以从请求本身捕获唯一的“朋友ID”和(我猜)名称!

您需要做的是:

  1. 当朋友点击邀请时,他/她将被重定向到画布页面(如果已经坐下,则会被重定向到书签页面。)
  2. 除了重定向,您还会在此处收到邀请号(请求ID),您可以阅读此请求并从中提取“收件人”字段,然后将该朋友重定向到您的网站。
  3. 类似的东西:

    <?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>