2017-02-19 93 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