从facebook事件中检索数据
我必须创建一个网页,在那里我需要从facebook页面显示过去或即将发生的所有事件。我必须检索每一张照片的标题、描述、图像、时间和地点,并用它制作一个盒子。 在那之后,我必须重新询问所有感兴趣的人从facebook事件中检索数据,facebook,facebook-graph-api,Facebook,Facebook Graph Api,我必须创建一个网页,在那里我需要从facebook页面显示过去或即将发生的所有事件。我必须检索每一张照片的标题、描述、图像、时间和地点,并用它制作一个盒子。 在那之后,我必须重新询问所有感兴趣的人 我是一个初学做大事的人!非常感谢。这不是一个简单的问题-我刚刚做了这件事,因此将给您一个开始 您需要使用Facebooks Graph API来获取数据,您需要阅读Graph API以及如何使用它。可以找到文档。值得注意的是,由于存在安全漏洞,API目前并没有向新开发人员提供所有服务,但您可以从中获得
我是一个初学做大事的人!非常感谢。这不是一个简单的问题-我刚刚做了这件事,因此将给您一个开始 您需要使用Facebooks Graph API来获取数据,您需要阅读Graph API以及如何使用它。可以找到文档。值得注意的是,由于存在安全漏洞,API目前并没有向新开发人员提供所有服务,但您可以从中获得更多信息 您可以使用任何语言查询API,但我建议使用python并使用请求模块。或者你可以用它来让事情变得简单,相信我!使用SDK,您需要获得一个用户访问令牌,您可以从中获得该令牌 SDK 使用SDK可以做到这一点
import facebook
graph = facebook.GraphAPI(access_token="your_token", version="2.12")
event = graph.get_object(id='event_id',
fields='attending_count,declined_count')
print(event['attending_count'])
print(event['declined_count'])
您可以将更多字段添加到字段列表中。但是,您可以使用您选择的任何语言来请求数据,因为您可以构建自己的URL
图形API和请求
这就是我在python中使用请求查询API的方式
import requests, json
#Make a requests session to fetch data from URL's
session = requests.Session()
session.mount('https://', requests.adapters.HTTPAdapter(max_retries=10))
#API base URL
baseUrl = 'https://graph.facebook.com/v2.11/'
#Fields you want to get
fields = ['id', 'name', 'start_time', 'end_time', 'description', 'place']
#replace CLIENT_ID and CLIENT_SECRET with ones from a facebook app (make one)
tokenPath= 'oauth/access_token?client_id={0}&client_secret={1}&&'\
'grant_type=client_credentials'.format(CLIENT_ID, CLIENT_SECRET)
#Get the generated token
token = session.get(baseUrl + tokenPath).json()['access_token']
event = session.get(baseUrl, params={
"ids": "event_id",
"fields": ",".join(fields),
"access_token": token,
}
).json()
print(event["name"])
print(event["place"])
你可以制作一个facebook应用程序,它是客户ID
和客户机密
的来源
为什么要使用URL请求而不是SDK?
使用SDK,生成的用户访问令牌每天都会过期,可以延长,但只能延长60天。如果你想使用SDK,它有一个内置的方法,允许你扩展令牌,为了扩展令牌,你还需要创建一个facebook应用程序。使用扩展令牌也是可能的,尽管我不能保证它的安全性——它可能会访问和利用您的数据
要使用SDK扩展令牌,请执行以下操作:
import facebook
graph = facebook.GraphAPI(user_access_short_lived_token)
extended_token = graph.extend_access_token(app_id, app_secret)
print(extended_token)
使用URL方法,您可以在运行时创建客户端访问令牌(阅读关于用户访问令牌与客户端访问令牌的内容),只要您的应用处于活动状态,该令牌就有效。因此,如果您打算大量使用该方法,或者希望创建它,并且不必更改/扩展令牌,那么请使用URL方法
希望这能让你开始。那么到目前为止你做了什么?你的问题是什么?嗯。。我真的不知道从哪里开始