2012-01-21 106 views
0

当用户第一次打开应用程序时,许可页面将返回代码,我在这里使用 https://graph.facebook.com/oauth/access_token?client_id=ID&redirect_uri=MY_URL&client_secret=SECRET&code=CODE 获取访问令牌。如何获取访问令牌?

如果是第一次用户打开它的应用程序的作品。如果不是我第一次无法获得更新的令牌。我已经尝试保存每个加入用户的代码,但它会更改,旧代码无法提供访问令牌。我也尝试保存令牌,但它也过期。 我还优先考虑不使用offline_access权限。

在此先感谢您的帮助;)

+0

Offline_access已被弃用,因此不宜使用它 – bkaid

+0

此问题是否解答了您的问题?如果是这样,请接受... –

回答

0

这是正确的,访问令牌都有一个有效期,并发出了很短的时间。

试试这个线程:What is the correct way to refresh Facebook OAuth2 access token after it expires?

还,您可以使用客户端身份验证使用JavaScript API的帮助。 使用官方文档:Facebook Authentication和JS SDK身份验证方法,如:Facebook Javascript getAuthResponse Function

+0

当我没有代码/令牌过期时,我已经尝试将用户重定向到auth页面。但我在应用程序url中将代码显示为get参数。该重定向使登录/认证过程相当缓慢,如果我使用另一台电脑上的另一个Facebook帐户登录的链接,我可以用另一个用户名登录应用程序。并且必须避免。我现在正在查看JS API .... –

+0

JS APIs执行相同的过程=(好吧,唯一的方法是将用户重定向到auth页面吗? –

+0

当用户在您的页面中时无需刷新页面(或重新加载另一页面),可以使用js sdk来通知用户会话中的更改:http://developers.facebook.com/docs/reference/javascript/FB.Event.subscribe/,您可以订阅该活动。 –

0

没有办法的旧代码可以用来获取访问令牌,则需要用户每次他来重定向到该网址另外,你可以看到离线访问是否适合你!