我應該推薦使用RestFB API,它是專爲你所需要的。
要登錄,您需要創建一個Facebook應用程序,並使用它來獲取OAuth憑證爲您的用戶,文檔:https://developers.facebook.com/docs/facebook-login/login-flow-for-web/v2.1
以下是完整的文檔:http://restfb.com/
由於您使用的Swing ,你將不得不打開瀏覽器,試試這個片斷:
public static void openWebpage(URI uri) {
Desktop desktop = Desktop.isDesktopSupported() ? Desktop.getDesktop() : null;
if (desktop != null && desktop.isSupported(Desktop.Action.BROWSE)) {
try {
desktop.browse(uri);
} catch (Exception e) {
e.printStackTrace();
}
}
}
public static void openWebpage(URL url) {
try {
openWebpage(url.toURI());
} catch (URISyntaxException e) {
e.printStackTrace();
}
}
或者您可以使用此另一種方法: http://java.dzone.com/articles/web-browser-your-java-swing
----編輯----
由於您將不得不創建另一個應用程序來獲取令牌,這不會是一個問題。 您的swing應用程序調用Web應用程序進行登錄。它裏面,你將有一些像這樣的代碼:
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
console.log(response.authResponse.accessToken);
}
});
也就是說令牌,你可以將它保存在一個臨時文件,或將其發送到您的Swing應用程序在許多方面。
謝謝,但如果用戶需要登錄Facebook並授予我的應用權限,RestFB將如何打開Web瀏覽器?這對我來說真的不清楚。 Thx – Tom 2014-09-03 20:32:59
我編輯了,也許它現在好多了 – 2014-09-03 20:37:19
非常感謝,但我仍然沒有得到RestFB如何能夠與瀏覽器進行通信以獲取授權令牌進行發佈(它也需要從用戶的Facebook帳號瀏覽器)? – Tom 2014-09-03 20:45:02