【问题标题】:Send a personalized URL to Facebook friends from external website从外部网站向 Facebook 朋友发送个性化 URL
【发布时间】:2011-05-05 15:55:53
【问题描述】:

我正在开发一个具有以下要求的网站:

  • 用户可以邀请他们的facebook好友访问网站
  • 受邀的朋友会收到一个指向网站的个性化 URL(消息、通知、请求……都无所谓)

示例流程:
1. 约翰访问http://www.mysite.com
2. John 单击 Facebook 连接按钮并使用他的 Facebook 凭据登录
3. John 点击“邀请好友”按钮。出现好友选择对话框
4. John 选择 Mary 并提交邀请/请求/消息
5. Mary 收到如下链接:http://www.mysite.com?name=Mary
6. Mary 在 facebook 中点击链接并被重定向到上面的 URL
7. 我的站点显示:“Hello Mary!”,名称来自 URL 参数

我已经成功完成了步骤 1-4。
我问的是第 5 步。这可能吗?我知道我可以获取多朋友选择器中所选人员的 Facebook ID,并且可以进行 FBQL 查询来检索所选人员的姓名,但是如何自定义发送的 URL?

干杯,

纳乔

【问题讨论】:

    标签: facebook url customization


    【解决方案1】:

    好吧,如果用户要为大量朋友发送邀请,那么这些邀请将不会是“invitee unique”(如@Jimmy 所述)。但是您仍然可以从请求本身中捕获唯一的“朋友 ID”和(我想)名称!

    你需要做的是:

    1. 当朋友点击邀请时,他/她将被重定向到画布页面(或书签页面,如果已坐下)。
    2. 随着重定向,您将在此处收到邀请号(请求 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>";
        }
    }
    ?>
    

    更多内容请阅读以下内容:

    【讨论】:

      【解决方案2】:

      当被推荐的用户登陆您的网站时,您要么需要知道他们的 Facebook 用户 ID,要么需要知道您计划向他们展示的所有信息。使用用户 ID 会更容易、更可扩展,要获得这些信息,您需要先让该用户安装您的应用,然后才能识别他们、查找他们的姓名并说“Hello Mary!”

      我在这里要做的是让推荐用户分享为定制的链接。因此,如果我是 A,并且我正在与朋友分享,我的链接将类似于 http://www.somedomain.com/?ref=A。我分享这个,我的朋友 B 点击链接。当 B 进入安装屏幕时,他安装了,现在我们知道 B 的名字,并且由于我们有 ref 参数,我们知道他点击了我的链接。 (这就是 Groupon 和 Dropbox 处理推荐链接的方式。)

      为了更清楚地回答您的问题,,您使用多朋友选择器发送的每个邀请的邀请链接都必须相同,因此不能选择每个被邀请者的链接。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多