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

相關問題