Facebook 社交插件 - 如何检索网站中嵌入的评论?

Facebook Social Plugin - How do I retrieve comments embedded in a site?

问题

我有一个以前可能没有人回答过的独特问题。

我想 post 将图像发送到 Facebook 社交插件,我曾尝试从两个单独的 URL 中获取 post 的列表。

第一步我尝试让它工作

我目前正在尝试通过所需的 URL 获取 post 的列表(不成功 URL 2)。

我在 Whosebug 上发现了以下问题,并尝试将 URL 添加到下面两个网站的地址栏中。

Programmatically posting Facebook comments

URL 1 工作正常,但 URL 2 不工作。

1)成功URL正确JSON返回

http://graph.facebook.com/comments/?ids=http://techcrunch.com/2011/07/22/big-surprise-the-ipad-trumps-android-tablets-at-the-office/

2)不成功URL空JSON返回

http://graph.facebook.com/comments/?ids=https://www.change.org/p/set-armeniangenocidedoodle-on-april-24-googledoodles/u/10495296?utm_source=petition_update&utm_medium=facebook&utm_campaign=fb_comment

空JSON响应

{
   "https://www.change.org/p/set-armeniangenocidedoodle-on-april-24-googledoodles/u/10495296?utm_source=petition_update": {
      "comments": {
         "data": [

         ]
      }
   }
}

问题

为什么我无法获得 URL 2 的任何 JSON 数据?

Why can I not get any JSON data for URL 2 ?

因为你传递了错误的 URL,未能正确URL编码参数值。

http://graph.facebook.com/comments/?ids=https://www.change.org/p/set-armeniangenocidedoodle-on-april-24-googledoodles/u/10495296?utm_source=petition_update&utm_medium=facebook&utm_campaign=fb_comment

让我们把它拆开,好吗?

您传递了一个值为 https://www.change.org/p/set-armeniangenocidedoodle-on-april-24-googledoodles/u/10495296?utm_source=petition_update 的参数 ids,然后传递了另外两个值为 facebook 的参数 utm_medium 和值为 [=] 的 utm_campaign 16=].

符号分隔 URL 参数。 如果您不希望它这样做,但让它成为 参数值的一部分 而不是 – 然后你需要 URL-正确编码它。

http://graph.facebook.com/comments/?ids=https%3A%2F%2Fwww.change.org%2Fp%2Fset-armeniangenocidedoodle-on-april-24-googledoodles%2Fu%2F10495296%3Futm_source%3Dpetition_update%26utm_medium%3Dfacebook%26utm_campaign%3Dfb_comment

(这里不仅编码了 & 符号,还编码了整个参数值。无论何时将任何值放入 URL 上下文中,都应该这样做。)