0

Я работаю над игрой, в которой есть функция «играть со своими друзьями в Facebook» (она не использует Facebook Canvas). Настройка довольно стандартная. Я хочу отобразить список всех друзей пользователя Facebook, и если они также будут пользователями моего приложения, появится кнопка «Play», если нет, появится кнопка «Пригласить».Отправить заявку пользователю определенного пользователя с помощью SDK для Facebook

Чтобы получить список моих друзей Facebook, которые используют приложение, я делаю вызов

Request.newMyFriendsRequest

, а затем, чтобы получить список всех моих друзей, я сделайте еще один звонок /me/taggable_friends.

С этой информацией я могу создать такой список. Проблема в том, что если я хочу отправить запрос приложения пользователю, мне нужен его идентификатор пользователя, но идентификатор, который возвращается /me/taggable_friends, не является фактическим идентификатором Facebook этого пользователя, а уникальным идентификатором, связанным с моим приложением (как описано в документации), поэтому он не работает, если я хочу отправить приложение, используя его.

Чтобы пригласить друг, я использую следующий код:

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, невозможно в v2.x графического API, и это не цель конечной точки taggable_friends (особенно учитывая, что есть конечная точка invitable_friends). Я думаю, что у вас есть 2 варианта:

  1. реализации Также приложение Canvas, так что вы можете использовать invitable_friends

  2. Показать все друзья, которые уже используют приложение (через/друзей конечной точки), а затем которая позволяет пользователям приглашать больше друзей, но не указывая, какие из них приглашать. В появившемся диалоговом окне будет выбран селектор друзей, который позволит пользователю выбрать, какие друзья пригласить.

+0

Да, мне пришлось реализовать Facebook Canvas, что позволяет моему приложению использовать API invitable_friends, который именно то, что я хотел. Просто не хотел делать это над холстом, так как мое приложение действительно не нуждается в нем. – Henrique

Смежные вопросы