0

我有一個網頁應用程序,它從公共Facebook頁面中獲取最新帖子,並將其與帖子的背景圖片進行顯示。它適用於localhosted,但access_token在Chrome開發人員工具中顯示出它的全部榮耀。這當然是不好的做法,我正在尋找從服務器/外部服務安全地請求access_token的方法。Facebook Graph Api使用Javascript進行安全通話

應用程序的要點是能夠從Facebook頁面獲取信息,而無需請求用戶從客戶端登錄。截至目前,我明白它需要管理員access_token才能獲取信息,但也許我在這裏錯了?有沒有更簡單的方法來從公共Facebook頁面獲取最新的發佈信息?我不完全明白爲什麼Facebook需要管理令牌來獲取公開的信息?

回答

0

我不完全理解爲什麼Facebook需要管理令牌來獲取公開可用信息?

Facebook不希望匿名請求到他們的API。這就是爲什麼需要訪問令牌的原因。

該應用程序的要點是能夠從Facebook頁面獲取信息,而無需從客戶端請求用戶登錄。

您仍然需要訪問令牌。但是就像你說的那樣,向客戶請求它不是一個好主意,因爲它需要你的祕密。所以,你必須去服務器端(例如NodeJS)。請求:

https://graph.facebook.com/oauth/access_token? 
client_id=APP_ID&client_secret=APP_SECRET& 
grant_type=client_credentials 

然後將令牌或已獲取的數據發送到客戶端。實際上,您可以爲此設置自己的API。

否則,你可以考慮用CasperJS或類似的方法來挖掘帖子,儘管這不是一個很棒的開發者體驗。

+0

感謝您的回覆,Fabian。我想我會去NodeJS的方式,並解決這個問題! – Lodott1