2017-02-19 87 views
2

我一直在玩Facebook图形API一段时间,并且据我所知,你不应该能够从他们的用户名中获得Facebook用户的ID。从url中识别Facebook用户标识?

然后我来到了stalkscan.com,注意他们是这么做的。您提供一个Facebook网址,并且生成的查询包含该用户名配置文件ID。

我该如何实现带有或不带有图形API的类似结果?

+0

没有API。唯一的办法就是抓取不允许的 – WizKid

+0

@WizKid你认为这个示例站点是通过抓取来完成的吗?似乎不太可能考虑到速度(但可能)。 – Codingo

+0

没有其他办法,所以是的,这是他们做的 – WizKid

回答

1

您可以通过以下终点获得的Facebook用户ID:

URL /?id={url} 

{URL}表示外部URL,因为它涉及到Facebook的社交图谱 - 股和意见Facebook上的网址,并任何与URL关联的Open Graph对象。 (例如用户,页面......)。

使用Python,你可以使用这样的事情:

import requests 

USER_URL = '' # your link 
ACCESS_TOKEN = '' # your credentials 
params= {'id': USER_URL,'access_token': ACCESS_TOKEN} 
fb_graph = "https://graph.facebook.com/v2.7/" 

r = requests.get(fb_graph, params=params) 
fb_id = r.json().get('id') 

print('Facebook User ID: %s' % fb_id) 

图形API的完整文档,请here

+0

虽然这在测试JSON的正确路径上看起来只是重新获取url。我旨在检索用户的整数ID(为未来的请求)。它适用于页面,但不适用于用户。有任何想法吗? – Codingo

+0

@Codingo的想法是,你不这样做,因为Facebook不希望你。当用户登录到您的应用程序时,您将获得一个用户ID用于API请求。您的应用程序不应该处理尚未登录并授予其访问数据权限的用户。 – CBroe