2014-05-21 19 views
0

我已經下載了facebook-android-sdk-3.14.1.zip,並且試圖讓示例工作。我陷在FriendPickerFragment中,永遠不會返回朋友列表。我可以使用'精美'的例子和我的版本通過以下方式登錄到Facebook上(再次使用Facebook代碼):https://developers.facebook.com/docs/android/getting-startedFacebook FriendPickerFragment api

我發現我的請求只能通過公共配置文件許可進行,例如,

{Session state:OPENED, token:{AccessToken token:ACCESS_TOKEN_REMOVED permissions:[public_profile]}, appId:520510648055719} 

我把代碼Facebook friend picker SDK sample not working Android,將添加user_friends權限,並查看會話現在:

{Session state:OPENED, token:{AccessToken token:ACCESS_TOKEN_REMOVED permissions:[public_profile, basic_info, user_friends]}, appId:520510648055719} 

當我跟蹤的代碼到RequestAsyncTask.doInBackground 請求中的價值:

@Override 
protected List<Response> doInBackground(Void... params) { 
    try { 
     if (connection == null) { 
      return requests.executeAndWait(); 
     } else { 
      return Request.executeConnectionAndWait(connection, requests); 
     } 
    } catch (Exception e) { 
     exception = e; 
     return null; 
    } 
} 

{Request: session: {Session state:OPENED, token:{AccessToken token:ACCESS_TOKEN_REMOVED permissions:[public_profile, basic_info, user_friends]}, appId:520510648055719}, graphPath: me/friends, graphObject: null, restMethod: null, httpMethod: GET, parameters: Bundle[{fields=id,name,picture.height(75).width(75)}]} 

,我看到在onPostExecute(表結果)的響應:

[{Response: responseCode: 200, graphObject: GraphObject{graphObjectClass=GraphObject, state={"data":[]}}, error: null, isFromCache:true}] 

可能出現了一些問題,緩存早些時候,我需要明確的第一?如果是這樣,我該怎麼做?

我讀過Facebook最近改變了安全性。我已經創建了我的Facebook TestUI「應用程序」並輸入了hashKey(我假設一切正常,因爲我可以成功登錄到Facebook)

有什麼我應該看?

在這尋找任何和所有的智慧。

感謝

埃裏克

+0

請在stackoverflow上搜索。您最有可能使用API​​ v2.0,這意味着您只會找回也在使用該應用程序的朋友 – WizKid

回答

1

隨着Graph Search v2.0,對於一個用戶的好友請求將只返回的朋友也使用你的應用程序(包括樣品)的列表,以及user_friends權限必須要求作爲一個特殊的允許。似乎沒有成爲解決這個真正的方法,但你可以搜索的東西,如「taggable_friends」使用類似:

new Request(
    session, 
    "/me/taggable_friends", //instead of "/me/friends" 
    null, 
    HttpMethod.GET, 
    new Request.Callback() { 
     public void onCompleted(Response response) { 
      /* handle the result */ 
     } 
    }).executeAsync(); 
Facebook Graph Reference

+0

我的應用程序記錄了一些統計數據期間運動(步行,徒步旅行,騎自行車等)期間的距離。我希望應用能夠將這些統計信息發佈到人員時間表,並讓朋友們看到它。正如我理解你和Whizkid的評論,我只會得到一個也有應用程序的朋友列表。那是對的嗎? – Eric

+0

這是正確的。但是,您可以搜索「taggable_friends」,並且應該返回一個允許您將其標記爲狀態的朋友列表(至少在理論上,Facebook會生成不可靠的文檔,這些文檔很快就會過時)。 – MarmotXing

+0

感謝您的信息。我會檢查答案。 – Eric