2013-02-07 63 views
1

對於如何在Spring Social中使用Facebook的應用訪問令牌,我有點困惑。如何在Spring Social中使用Facebook appAccessToken

我已經通過使一個GET請求有一個應用程序訪問令牌:

http://graph.facebook.com/oauth/access_token?client_id=YOUR_APP_ID&client_secret=YOUR_APP_SECRET&grant_type=client_credentials

我不能使用(原因我不想在這裏討論)標準的Spring社交連接創建流量,我想使用這個令牌(如果可能的話)。

我的問題一般是針對GraphApi

因此,通常我可以使用通過標準GET獲取的應用程序訪問令牌,通過Spring Social向圖形API發出請求?

感謝,

回答

4

有一些應用程序的訪問令牌可用於極少數的事情。 Graph API中的大部分操作都是爲了獲取用戶數據,因此您必須獲取用戶訪問令牌。您擁有的應用訪問令牌將無法使用。

如果你打算使用你的應用程序的訪問令牌來獲取用戶的個人資料,看到自己的好友列表,或張貼在他們的時間表(或任何涉及到的用戶),那麼你的運氣了。想象一下,如果你只需要代表用戶閱讀和發佈信息就會獲得一個應用程序訪問令牌,隨之而來的就是混亂!您必須獲得用戶對此類事物的許可。

有3種獲取用戶訪問令牌的方式:授權代碼授予(這是Spring Social的ConnectController所做的並且最適合傳統Web應用程序),隱式授予(對於客戶端Javascript更適合),和資源所有者憑據授權(對於執行瀏覽器重定向的移動或桌面應用程序非常困難,困難或不可能),這是最適合的。

您擁有的應用程序訪問令牌僅用於使用以應用程序爲中心且不屬於任何給定用戶的API端點。 Facebook的API中有一些這樣的操作,但是唯一能夠立即想到的是,您可以使用應用程序令牌來創建測試用戶(請參閱https://developers.facebook.com/docs/test_users/)。

正如大部分Facebook的API是以用戶爲中心的,同樣是Spring Social的Facebook API綁定。但是,如果您希望看到添加到Spring Social中的以應用程序爲中心的操作,請致電https://jira.springsource.org/browse/SOCIALFB告訴我,謝謝。

+0

感謝您的詳盡答覆。我還有一個簡單的問題。如果用戶已經給我的應用程序權限,該怎麼辦?我可以使用應用程序訪問令牌進行完整帳戶訪問嗎?再次感謝。 – Simeon

+1

不是。應用程序訪問令牌*僅適用於與應用程序相關的功能。用戶可能授予的權限無關緊要。您必須使用用戶令牌進行以用戶爲中心的操作。 –

+0

Facebook通知API呢? – Panthro

相關問題