我正在製作一款「與您的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