如何在Python中进行FQL查询?
假设用户已经通过JavaScript SDK完成了身份验证,那么你该如何在Python中执行FQL查询呢?
query = 'SELECT page_id FROM page_admin WHERE uid = ' + user_id
我看过文档,似乎你需要访问这个网址 ->
https://api.facebook.com/method/fql.query?query=QUERY
那你该怎么做呢?另外,你需要在网址中传递访问令牌吗?如果需要的话,应该怎么传呢?
3 个回答
1
你应该使用 urllib2,看看它的 urlopen 方法。
根据你要做的查询,你可能需要一个访问令牌。比如说,如果你想获取一个相册,你就需要访问令牌以及 user_photos 和 friend_photos 的权限。如果你只是想获取一些粉丝页面的信息,那就不需要这些权限。
6
import urllib
query = "SELECT name FROM user WHERE uid = \"4\""
print(query)
query = urllib.quote(query)
print(query)
url = "https://graph.facebook.com/fql?q=" + query
data = urllib.urlopen(url).read()
print(data)
输出结果:
SELECT name FROM user WHERE uid = "4"
SELECT%20name%20FROM%20user%20WHERE%20uid%20%3D%20%224%22
{"data":[{"name":"Mark Zuckerberg"}]}
2
对于这个链接 https://api.facebook.com/method/fql.query?query=QUERY,你需要把 QUERY 替换成 FQL,也就是你想要查询的内容。比如说,你可以用这个链接:https://api.facebook.com/method/fql.query?query=SELECT%20aid,%20owner,%20name,%20object_id%20FROM%20album%20WHERE%20aid=%2220531316728_324257%22。