我正在使用此代码从API开发者处获取facebook的请求。它返回错误:
引发HTTP错误(req.full_url,code,msg,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)
答案 0 :(得分:0)
可能是用户代理的问题,他们可能会阻止它不是来自浏览器。您可能需要有效的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