如何在Python中进行FQL查询?

1 投票
3 回答
4485 浏览
提问于 2025-04-16 22:16

假设用户已经通过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"}]}

FQL 参考文档

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。

撰写回答