python - Facebook API:引发 HTTP 错误(req.full_url、code、msg、hdrs、fp)
问题描述
我正在使用此代码从 Facebook 向 API 开发人员获取请求。它作为错误返回:
引发 HTTP 错误(req.full_url,代码,味精,hdrs,fp)
HTTP 错误:错误请求
我是 Facebook API 的新手,很明显我发送了一个错误的请求,但我不知道它有什么问题。我该如何解决这个问题?
import urllib.request
import json
import datetime
import csv
import time
import facebook
app_id = "172"
app_secret = "cefd3"
access_token = app_id + "|" + app_secret
#Page ID
page_id = 'cnn'
def testFacebookPageData(page_id, access_token):
# construct the URL string
base = "https://graph.facebook.com/v2.7"
node = "/" + page_id
parameters = "/?access_token=%s" % access_token
url = base + node + parameters
# retrieve data
req = urllib.request.Request(url)
response = urllib.request.urlopen(req)
data = json.loads(response.read())
print(json.dumps(data, indent=4, sort_keys=True))
testFacebookPageData(page_id, access_token)
解决方案
可能是用户代理的问题,他们可能阻止了它不是来自浏览器的事实。您可能需要一个有效的 User-Agent 标头或其他东西。
尝试使用请求,这有效:
import requests
headers =
{
'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2049.0 Safari/537.36'
}
r = requests.get(url, headers=headers)
print r
print r.headers
推荐阅读
- python - Python :0 被附加到字符串
- ruby-on-rails - 在 rails 过滤器中给出条件
- git - 你如何运行 git 连接/凭据检查?
- python - 寻找 pyMX 教程
- python - 为 CLI 工具组合 while 循环
- android - 将 Flutter with Fabric 分发给 beta 测试人员
- git - 如何解决 Flutter 上的“无法在 PATH 中找到 git”?
- email - Cpanel Yandex MX 错误
- python - selenium.common.exceptions.ElementNotVisibleException:消息:通过python在ubuntu无头浏览器中调用send_keys时元素不可见
- r - 具有总频率和级别的拆分 R 条形图