0

我正在制作一款“与您的Facebook朋友玩”功能(不使用Facebook画布)的游戏。该设置非常标准。我想要显示所有用户的Facebook好友列表,如果他们也是我的应用的用户,则会显示“播放”按钮,如果没有,则会显示“邀请”按钮。使用Facebook SDK向特定用户发送应用程序请求

要获得其使用的应用程序我的Facebook好友列表中,我做出

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

此,据我所知,是不可能在图形API的版本2.x,并且它不是taggable_friends端点的意图(特别是考虑到有一个invitable_friends终点)。我觉得你有2种选择:

  1. 还实现了一个帆布的应用程序,所以你可以使用invitable_friends

  2. 显示谁已经在使用的应用程序(通过/朋友端点)的所有朋友,然后有一个按钮,允许用户邀请更多的朋友,但不指定邀请哪些人。弹出的对话框会有一个好友选择器,允许用户选择邀请哪些朋友。

+0

是的,我最终不得不实施Facebook Canvas,它使我的应用程序能够使用正是我想要的invitable_friends API。只是不想在画布上做它,因为我的应用程序并不需要它。 – Henrique 2014-10-07 22:43:16

相关问题