python - HTTP 错误 403 Forbidden with urllib2 but not with urllib with facebook graph api

标签 python facebook-graph-api urllib2

我有以下带有 urllib2 的代码,它会打印 HTTP Error 403: Forbidden,但是如果我使用 urllib 来获取 url,我不会看到任何错误,而且会得到我的 friend 列表。这两种情况使用的访问 token 是相同的。

url = 'https://graph.facebook.com/me/friends/'
params = {'access_token': 'a valid access-token...', 'fields': 'id,name,birthday'}
req = urllib2.Request(url, data=urllib.urlencode(params))
try:
  con = urllib2.urlopen( req )
  print con.read()
except Exception as excp:
  print excp.read()

请提出可能存在问题的建议。

最佳答案

这个问题现在已经解决了。问题在于请求应该是 GET 而不是 POST,因此所有查询参数都应该通过 url 传递,而不是作为 POST 数据传递。因此,就我而言,要获得 friend ,代码将如下所示:

url = 'https://graph.facebook.com/me/friends/'
params = {'access_token': 'a valid access-token...', 'fields': 'id,name,birthday'}

try:
  con = urllib2.urlopen( url + '?' + urllib.urlencode(params))
  print con.read()
except Exception as excp:
  print excp

希望它对某人有帮助。

关于python - HTTP 错误 403 Forbidden with urllib2 but not with urllib with facebook graph api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7491347/

相关文章:

python - 我如何判断哪个小部件触发了 Tkinter 中的事件?

python - 使用 glob 参数递归匹配文件名

javascript - 如何通过 javascript 获取 facebook json 结果?

javascript - 通过javascript返回Facebook图片url

python - 5 次请求后 urllib2 HTTPPasswordMgrWithDefaultRealm 'loses' 密码

python - 奇怪的重定向位置导致 urllib2 出现代理错误

python - 我如何训练一个系统来识别 Python 中的模式?

python - 将 url 页面连接为单个数据框

javascript - 异步调用 facebook api 时丢失范围

javascript - 使用对话框从 python 中的站点下载文件