通过Graph API在用户特定的语言环境中获取兴趣和活动

时间:2011-09-12 08:20:54

标签: facebook facebook-graph-api localization

我们正在开发一个访问Facebook用户数据的移动应用程序。

我们希望获得用户的活动,兴趣和喜爱的书籍,音乐等。我们通过Graph API获取这些信息,但现在我们面临的问题是,返回的兴趣是英语。

这是我们为获取共同兴趣所采取的步骤:

1)获取访问令牌

2)致电https://graph.facebook.com/me/interests&access_token=XXX0&locale=de_DE

回应有点像:

{"data":[{"name":"Programming","category":"Interesse","id":"101882226520576","created_time":"2011-08-02T08:38:03+0000"}]}

你可以看到,该类别是tanslated,但我们也在寻找名称字段的德语版本(“Programmierung”)。

当我尝试访问http://www.facebook.com/pages/Programming/101882226520576上的英文“编程”页面时,我转发到http://www.facebook.com/pages/Programmieren/106375099398136

使用Graph API访问106375099398136会产生正确的响应:

{
   "id": "106375099398136",
   "name": "Programmieren",
   "link": "http://www.facebook.com/pages/Programmieren/106375099398136",
   "likes": 6983,
...
}

如何通过Graph API在“Programming”页面和“Programmierung”页面之间获得这种依赖于语言环境的链接?

1 个答案:

答案 0 :(得分:0)

只想分享上述问题的可能解决方法。

基本上,当用户尝试访问Facebook页面并重定向到本地化版本时,我们正在模拟正在发生的事情。因此,我们使用HTTP标头中设置的用户区域设置向“facebook.com/pages/PAGE_ID”发送HTTP请求,并按照重定向进行操作,直到最后一个位置。最后一个位置的网址有点像“http://www.facebook.com/pages/LOCALIZED_PAGE_NAME/PAGE_ID”,我们正在从中提取网页名称。

这是一种有效但又无效的解决方案:)希望以更优雅的方式来处理这个问题。

再见 托拜厄斯