Facebook Graph API - 获取朋友信息

时间:2011-04-01 17:15:29

标签: facebook facebook-graph-api

我正试图找出如何使用Graph API或FQL

获取用户朋友的信息

只是为了测试,我想找到我的朋友education_histroy

为此,我创建了一个测试应用程序,使用

请求扩展权限
scope=offline_access,manage_friendlists,friends_work_history,
      friends_education_history,friends_about_me

并获得访问令牌以使用API​​。

使用/me查询当前用户时效果很好。但它不会给我的朋友带来任何回报。

我假设如果我请求,我们说friends_work_history,当我按朋友的ID查询时,额外的字段(work_history)将出现在朋友的对象中:

https://graph.facebook.com/FRIEND_ID&access_token=TOKEN

但我所看到的只是关于该用户(朋友)的基本信息。

然后我试图专门请求该字段:

https://graph.facebook.com/FRIEND_ID?fields=work&access_token=TOKEN

再没有运气。只返回朋友的身份..

我尝试使用FQL访问该信息:

https://api.facebook.com/method/fql.query?query=select+work_history+from+user+where+uid+in+(FRIEND_ID)&access_token=TOKEN

返回work_history = TRUE而不是数组。那位朋友肯定有工作历史。

有人可以帮助我了解如何使用我的应用和扩展权限获取朋友信息吗?

7 个答案:

答案 0 :(得分:7)

在大多数情况下,图谱API是明智的选择。要检索您的朋友信息,您需要先从用户那里收集一些扩展权限。然后,您可以检索除基本信息之外的更多信息。

以下是与朋友不同类型的信息相关的扩展权限列表

friends_about_me        
friends_activities      
friends_birthday
friends_checkins        
friends_education_history       
friends_events
friends_games_activity      
friends_groups      
friends_hometown
friends_interests       
friends_likes       
friends_location
friends_notes       
friends_online_presence     
friends_photo_video_tags 
friends_photos      
friends_relationship_details        
friends_relationships
friends_religion_politics       
friends_status      
friends_subscriptions
friends_videos      
friends_website     
friends_work_history

希望有所帮助:)

答案 1 :(得分:2)

我自己一整天都在努力解决这个问题,我相信我已经弄清楚了,在facebook文档(我发现)中没有任何地方这么清楚。我不相信其他答案实际上回答了你的问题,看起来你正确地请求了权限。无论如何,要请求您正在寻找的信息,请按照以下方式ping api:

https://graph.facebook.com/userid/friends?fields=work&access_token=ACCESSTOKENHERE

这将在一个长JSON响应中返回所有朋友的信息。

这有点令人困惑,因为您要求的权限与查询API所需的权限不同。

上面的查询将返回包含工作历史记录的朋友ID。您可以在fields参数中添加逗号以包含其他信息,例如名称,但API调用/响应最终需要很长时间。

答案 2 :(得分:1)

http://developers.facebook.com/docs/reference/api/user/

你可以获得这里提到的所有字段。要获得工作,你需要有user_work_history或friends_work_history permission

在链接中提到了在获取信息之前获得的权限以及用户必须允许您的应用程序的其他内容,这将使您的应用程序获取信息。

答案 3 :(得分:1)

this answeranother question:致电'我/朋友?字段=工作'为我工作!

答案 4 :(得分:0)

我建议你像其他大多数建议一样去http://developers.facebook.com/docs/reference/api/user/,但作为一般提示,请使用friends_education_history作为获取朋友历史的方法。

P.S:原始问题中的轻微拼写错误应编辑。 “education_histroy。” = education_history 在你的主要段落的第二行。

答案 5 :(得分:0)

您可以使用此代码获取姓名,个人资料照片,朋友ID。

FB.api(' / me / taggable_friends',function(response){  for(var i = 0; i< friend_data.length; i ++){   结果+ ='' + friend_data [i] .name;   } });

之前在您的开发者帐户中创建应用程序>转到工具和支持 - >图形API资源管理器 - >单击获取令牌。在该窗口中单击user_tagged_places,然后单击“获取访问令牌”。你会得到你的朋友名单。

答案 6 :(得分:0)

我无法使用以下API获取带有好友列表的长json数据 https://graph.facebook.com/userid/friends?fields=work&access_token=ACCESSTOKENHERE

仅在......之后返回。

{
   "data": [

   ],
   "summary": {
      "total_count": 428
   }
}

以上API有什么问题。