首页 > 解决方案 > 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)

标签: pythonfacebook-graph-api

解决方案


可能是用户代理的问题,他们可能阻止了它不是来自浏览器的事实。您可能需要一个有效的 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

推荐阅读