문제

Facebook 플랫폼에 게시 된 Facebook 응용 프로그램이 있으며 Facebook API를 사용하여 친구를 초대했으며 초대 양식을 작성하는 데 성공했지만 문제는 친구를 초대하고 초대장과 초대 요청을 사용자와 사용자에게 보낼 때입니다. 이 친구가 다시 초대 될 수있는 친구 목록에 다시 나타납니다.

예를 들어 :

나는 친구 목록에 X라는 친구가 있고 초대장을 보낼 때 초대장이 전송되고 X는 초대장을 수락하고 초대장을 다시 보내려고 할 때 친구 X가 초대장을 보낼 수있는 목록에 다시 나타납니다. 즉,이 사용자에게 초대장을 보낼 수 있으며 이미 게임을 재생하고 있다는 것을 의미합니다.이 문제를 해결하는 방법을 알고 있어야합니다. 그래서 친구 목록 (초대장)에 응용 프로그램을 사용하지 않는 친구 만 친구 목록에 나타납니다.

다음 링크에서 내 응용 프로그램내 게임 응용 프로그램그것을 방문하여 친구를 초대 한 후 정확히 문제를보십시오. 그들이 다시 나타날 것입니다. 게임 응용 프로그램에서 이것은 정상입니까?

답장을 보내 주셔서 감사합니다

도움이 되었습니까?

해결책

FBML에서 사용중인 경우 친구 선택자 배열을 전달할 수 있습니다 exclude_ids. API를 사용하여 이미 앱을 사용하고있는 사용자의 친구를 찾으면이 방법을 제외 할 수 있습니다.

이것은 또한 작동합니다 멀티 친구 선택자 안에 앉아 있습니다 FB : 요청-형식 꼬리표.

편집하다: 제외 할 사용자 배열은 API 통화를 통해 얻을 수 있습니다. friends.getAppusers.

다음 예제는 .NET을 사용합니다 Facebook 개발자 툴킷. (주로 그게 내가 전에 한 방법이기 때문에!)

뒤에 코드 :

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%>"/>
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top