在 FBML 中,如果您使用朋友选择器,您可以将数组exclude_ids传递给它。如果您使用 api 查找已经在使用您的应用的用户的朋友,您可以通过这种方式排除他们。
这也适用于位于fb:request-form标签内的多朋友选择器。
编辑:要排除的用户数组可以通过 API 调用Friends.getAppUsers获得。
以下示例使用 .NET Facebook Developer Toolkit。(主要是因为我以前就是这样做的!)
代码背后:
public string CURRENT_USER_FRIENDS = "";
//Call this function on pageload or where you like
private void PopulateFriendsData()
{
//exclude friends who already have the app from the inviter
string UsersToExclude = string.Empty;
IList<long> AppUserFriends = this.Master.API.friends.getAppUsers();
foreach (long L in AppUserFriends)
{
UsersToExclude += L.ToString() + ",";
}
CURRENT_USER_FRIENDS = UsersToExclude.TrimEnd(',');
}
页:
<fb:multi-friend-selector
actiontext="Select the friends you want to invite"
rows="3"
exclude_ids="<%=CURRENT_USER_FRIENDS%>"/>