我们正在开发一个访问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”页面之间获得这种依赖于语言环境的链接?
答案 0 :(得分:0)
只想分享上述问题的可能解决方法。
基本上,当用户尝试访问Facebook页面并重定向到本地化版本时,我们正在模拟正在发生的事情。因此,我们使用HTTP标头中设置的用户区域设置向“facebook.com/pages/PAGE_ID”发送HTTP请求,并按照重定向进行操作,直到最后一个位置。最后一个位置的网址有点像“http://www.facebook.com/pages/LOCALIZED_PAGE_NAME/PAGE_ID”,我们正在从中提取网页名称。
这是一种有效但又无效的解决方案:)希望以更优雅的方式来处理这个问题。
再见 托拜厄斯