如何在文本输入元素中搜索Facebook好友?

时间:2011-02-26 05:35:00

标签: jquery html facebook forms facebook-graph-api

我有一个包含多个输入字段的表单,供用户添加他们的Facebook好友。我希望这些输入字段使用其Facebook好友列表中的名称自动完成,然后在提交表单时,发送的值是这些朋友的ID。

以下是用户的Facebook好友信息摘要:

   [ {
         "name": "Joe Smith",
         "id": "6500000"
      },
      {
         "name": "Andrew Smith",
         "id": "82000"
      },
      {
         "name": "Dora Smith",
         "id": "97000000"
      },
      {
         "name": "Jacki Smith",
         "id": "107000"
      } ]

以下是HTML相关表单的内容。

<label>Name</label>
<input type="text" name="name-1" id="name-1" />
<input type="hidden" id="fbid-1" /><br/>
<label>Name</label>
<input type="text" name="name-2" id="name-2" />
<input type="hidden" id="fbid-2" /><br/>
<label>Name</label>
<input type="text" name="name-3" id="name-3" />
<input type="hidden" id="fbid-3" /><br/>
<label>Name</label>
<input type="text" name="name-4" id="name-4" />
<input type="hidden" id="fbid-4" /><br/>

我使用jQuery来处理此表单的POST。我正在查看jQuery的自动完成插件,但我不确定是否允许我为Facebook好友设置名称和ID。

2 个答案:

答案 0 :(得分:2)

看看这个代码示例,它的工作正常,如果你想拥有多个输入,你需要对代码做一些小改动。

http://blogs.microsoft.co.il/blogs/alon_nativ/archive/2011/05/30/search-facebook-friends-with-jquery-autocomplete.aspx

答案 1 :(得分:0)

您需要使用FQL来实现此目标,例如:

SELECT uid,name 
FROM user
WHERE uid IN (
    SELECT uid2 
    FROM friend 
    WHERE uid1=me()
) AND strpos(lower(name),"user_inputs") >=0