0

"Facebook 친구와 함께 게임하기"기능 (Facebook 캔버스는 사용하지 않음)이있는 게임을 만들고 있습니다. 설정은 꽤 표준입니다. 모든 사용자의 Facebook 친구 목록을 표시하고 싶습니다. 내 앱 사용자 인 경우 '재생'버튼이 표시되고 그렇지 않으면 '초대'버튼이 표시됩니다. Facebook SDK를 사용하여 특정 사용자에게 앱 요청 보내기

이 응용 프로그램을 사용하는 내 페이스 북 친구 목록을 얻으려면, 내가 후

Request.newMyFriendsRequest

과의 호출에 내 모든 친구의 목록을 얻을 수 있도록 /me/taggable_friends으로 다시 전화하십시오.

이 정보를 사용하면 이러한 목록을 만들 수 있습니다. 문제는 사용자에게 앱 요청을 보내려는 경우 사용자 ID가 필요하지만 /me/taggable_friends에 의해 반환되는 ID는 해당 사용자의 실제 Facebook ID가 아니라 내 앱과 관련된 고유 ID입니다 (문서에 설명 된대로), 그래서 그것을 사용하여 응용 프로그램 요청을 보내려면 작동하지 않습니다.

내가 다음 코드를 사용하고, 친구를 초대하는 방법은 다음과 같습니다

Bundle params = new Bundle(); 
     params.putString("title", "Invite Friend"); 
     params.putString("message", "has invite has you to try out the game"); 
     params.putString("to", id); // how do I get this id? 

     WebDialog requestsDialog = (new WebDialog.RequestsDialogBuilder(this, 
       Session.getActiveSession(), params)).setOnCompleteListener(new WebDialog.OnCompleteListener() 
     { 
      @Override 
      public void onComplete(Bundle values, FacebookException error) { 

      } 
     }).build(); 
     requestsDialog.show(); 

이 내가 그것을 가능하다고 알 수 있도록 내가 많은 게임에서 본 적이 꽤 표준 설정을 것 같다. 내가 뭘 잘못하고 있는거야? 감사!

답변

1

AFAIK는 그래프 API의 v2.x에서는 불가능하며 taggable_friends 엔드 포인트의 의도는 아닙니다 (특히 invitable_friends 엔드 포인트가있는 경우).

  1. 당신이 invitable_friends

  2. 보기 이미 (은/친구 엔드 포인트를 통해) 응용 프로그램을 사용하고있는 모든 친구를 사용할 수 있도록 또한 캔버스 응용 프로그램을 실행 한 다음이 : 나는 당신이 두 가지 옵션이 있습니다 생각 버튼을 클릭하면 사용자가 더 많은 친구를 초대 할 수 있지만 초대 할 사람을 지정하지 않아도됩니다. 팝업 대화 상자에는 친구 선택자가있어 사용자가 초대 할 친구를 선택할 수 있습니다.

+0

그래, 내 앱이 내가 원했던 invitable_friends API를 사용할 수있게 해주는 Facebook Canvas를 구현해야했습니다. 애플 리케이션이 정말로 필요로하지 않기 때문에 그냥 캔버스 위로 그것을하고 싶지 않았어. – Henrique

관련 문제