会话密钥&在Facebook-API中访问令牌

时间:2010-08-22 04:34:03

标签: session facebook key

有人可以一次向我解释什么是Session Key&访问令牌? 我怎么抓住那两个?为什么以及何时需要使用它们?当它是“一次性”而不是“一次性”时?

另外,它们之间有什么区别。 请用Java做。我是一个新的Facebook-API Java开发人员,他试图让他的应用程序与Facebook合作。

这是我到目前为止的基本代码:

FacebookJsonRestClient client = new FacebookJsonRestClient(API_KEY, SECRET);
HtmlDisplay HD = new HtmlDisplay("http://www.facebook.com/login.php?api_key=1668a3eee255c05918c4234bc4371beb&connect_display=popup&v=1.0&next=http://www.walla.co.il&cancel_url=http://www.facebook.com/connect/login_failure.html&fbconnect=true&return_session=true&session_key_only=true&req_perms=user_photos,publish_stream,offline_access");
hd.popUp();
client.auth_getSession(token, true);
System.out.println(client.getCacheSessionKey());

我也试过把

&auth_token=TOKEN

在HD内部并使用

获取
CLIENT.auth_createToken();

没有任何作用。感谢

1 个答案:

答案 0 :(得分:6)

会话密钥和访问令牌是两个互斥的概念。会话密钥用于旧的REST API,访问令牌用于新的OAuth和Graph API。

您使用的Java库仅支持旧的REST API,并且已经过时了。我建议切换到Graph API java库,如RestFB

OAuth的授权流程详见here。您还可以在RestFB页面上找到很多示例。