从facebook事件中检索数据

从facebook事件中检索数据,facebook,facebook-graph-api,Facebook,Facebook Graph Api,我必须创建一个网页,在那里我需要从facebook页面显示过去或即将发生的所有事件。我必须检索每一张照片的标题、描述、图像、时间和地点,并用它制作一个盒子。 在那之后,我必须重新询问所有感兴趣的人 我是一个初学做大事的人!非常感谢。这不是一个简单的问题-我刚刚做了这件事,因此将给您一个开始 您需要使用Facebooks Graph API来获取数据,您需要阅读Graph API以及如何使用它。可以找到文档。值得注意的是,由于存在安全漏洞,API目前并没有向新开发人员提供所有服务,但您可以从中获得

我必须创建一个网页,在那里我需要从facebook页面显示过去或即将发生的所有事件。我必须检索每一张照片的标题、描述、图像、时间和地点,并用它制作一个盒子。 在那之后,我必须重新询问所有感兴趣的人


我是一个初学做大事的人!非常感谢。

这不是一个简单的问题-我刚刚做了这件事,因此将给您一个开始

您需要使用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方法


希望这能让你开始。

那么到目前为止你做了什么?你的问题是什么?嗯。。我真的不知道从哪里开始