[英]Collecting Like, Share, comments from facebook using facebook api
我正在尝试使用Facebook API刮擦公共Facebook页面,但是每次我发送请求时都会返回
HTTP错误400:错误的请求
我输入了正确的访问令牌,即应用程序ID +“ |” + app_secret。 但是仍然返回Bad请求。 出于安全原因,我隐藏了我的应用ID和应用密码 。
import facebook
import urllib3
import requests
from urllib.request import urlopen, Request
import json
import datetime
import csv
import time
app_id = 'facebook_app_id'
app_secret = 'facebook_app_secret'
access_token = app_id + "|" + app_secret
fb_page = "manchesterunited"
base = "https://graph.facebook.com/v3.2"
node = "/" + fb_page
parameters = "/?
fields=message,link,created_time,type,name,id,likes.limit(1).summary(true),comments.limit(1).summary(true),shares&limit=%s&access_token=%s" % (100, access_token)
url = base + node + parameters
def request_until_succeed(url):
req = Request(url)
success = False
while success is False:
try:
response = urlopen(req)
if response.getcode() == 200:
success = True
except Exception as e:
print(e)
time.sleep(5)
print("Error for URL %s: %s" % (url, datetime.datetime.now()))
return response.read()
test_status = json.loads(request_until_succeed(url))["data"][0]
print (json.dumps(test_status, indent=4, sort_keys=True))
使用简单的App Access令牌和您不拥有的公共页面,首先需要获得页面公共内容访问的批准: https : //developers.facebook.com/docs/apps/review/feature/#reference-PAGES_ACCESS
另外,对于测试,您可以使用您拥有的页面的页面令牌。
有关令牌的更多信息: https : //developers.facebook.com/docs/facebook-login/access-tokens/
在未事先审查您的应用之前,您无法再访问公共页面。
https://developers.facebook.com/docs/apps/review/feature#reference-PAGES_ACCESS :
页面公共内容访问
允许以只读方式访问您缺乏manage_page登录权限的页面上的公共数据。 可读数据包括业务元数据,公共评论,帖子和评论。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.