2014-05-21 20 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