我正在制作一款“与您的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();
这似乎是我见过很多游戏,所以我知道这是可能相当标准的设置。任何想法我做错了什么?谢谢!
是的,我最终不得不实施Facebook Canvas,它使我的应用程序能够使用正是我想要的invitable_friends API。只是不想在画布上做它,因为我的应用程序并不需要它。 – Henrique 2014-10-07 22:43:16