【问题标题】:How to display the friends selector dialog with PHP sdk for Facebook?如何使用 Facebook 的 PHP sdk 显示好友选择器对话框?
【发布时间】:2012-10-12 16:24:46
【问题描述】:

我想在发布到朋友墙之前显示“选择朋友”对话框,如下所示:

我不确定 PHP SDK 是否可行,我在 Fb 文档中没有找到任何相关信息。

我也可以使用一种 Facebook URL,例如:

$link=https://www.facebook.com/dialog/feed?app_id=<your appid>&redirect_uri=<your redirecting link>&link=<link u are posting>&message=<message>.&picture=<picture URL you want to show>&caption=<title>&description=<description>&name=<title>

(这个是用来贴到我们自己的墙上的)

更新:

在我选择了选定的朋友 uid 后,我想将它们添加到 Graph API 链接,然后发布到他们的墙上。

if (isset($_GET['request_ids'])) {
    $i = 0;
    $n = count(request_ids);
    while($n!=$i){
            $link = ($link + "&to=" + $request_ids[$i]);
        $i = $i +1;
    }
echo "<script language=javascript>parent.location=''</script>";
}

我的 php 代码有问题吗?

任何帮助将不胜感激。谢谢。

【问题讨论】:

    标签: php facebook facebook-php-sdk


    【解决方案1】:

    这是文档:

    您可以使用 JavaScript SDK 或 Graph API 来做到这一点。

    要使用图形 api,您可以像这样构建一个 URL:

    https://www.facebook.com/dialog/apprequests
      ?app_id=<your-app-id>
      &redirect_uri=http://www.example.com/response/
      &message=Your%20message%20here
      &display=popup
    

    通过为“display”指定不同的值,您可以选择如何显示选择器。可以是 page、popup、iframe、touch 或 wap。

    当用户单击“发送请求”按钮时,会被重定向到“redirect_uri”并附加 shome(我无法找到 get 参数的确切名称,但很容易找到)。

    更新:

    用户点击“发送请求”后,会被重定向到:

    <redirect_uri>?request_ids[0]=XXXX&request_ids[1]=YYYY&request_ids[2]=ZZZZ#_=_
    

    因此,在 PHP 中,您将在 $_GET['request_ids'] 中找到所选朋友的 id 列表。通过使用 Graph API,您可以使用该列表在朋友墙上发布内容。

    附注:必须与您在应用配置页面中指定的站点 URL 相同的域。

    更新:

    对 PHP 代码的改进:

    if (isset($_GET['request_ids'])) {
        for ($i=0; $i<count(request_ids); $i++){
            $link = ($link + "&to=" + $request_ids[$i]);
        }
        echo "<script language=javascript>parent.location=''</script>";
    }
    

    那么,$link 里面是什么? 要在墙上发布,您应该使用适当的 Graph API 请求,直接来自您在 redirect_uri 中指定的脚本。

    【讨论】:

    • 谢谢你的网址,这正是我要找的。你知道我如何向选定的朋友发布一些东西吗?单击“发送请求”按钮后,它没有发布任何内容。
    • 我更新了答案以包括“点击按钮后”的东西
    • 谢谢。我尝试将 request_ids 与 PHP 一起使用,但我认为我没有正确实现它。请看我的更新。实际上,我使用 JS 脚本在“onclick”按钮之后发送 URL。我还应该使用 JS 函数来获取 request_ids 吗?
    • 我可能错了,但 request_ids 是这样附加的:?request_ids=AAAAA,BBBBB,CCCCCC... 所以你需要用, 分割它们
    • 点击“发送请求”按钮后,我的 URL 栏中出现了这种格式:/?request=20819954259&to[0]=&to[1]=&to[2] =&to[3]=&to[4]=
    猜你喜欢
    • 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
    相关资源
    最近更新 更多