2

我有一个曾经使用offline_access 的应用程序,显然需要更改,因为它已经消失了。

当用户在没有我们后端的情况下通过任意数量的 API 进行交互时,我们使用此权限将消息发布到用户的 facebook 墙上。我们有一个网站,iPhone、Android、Blackberry 和诺基亚手机上连接到该应用程序的几个移动应用程序,以及一个与硬件设备交互的桌面应用程序,所有这些都可能导致后端尝试发布到 facebook,但只有网站允许用户使用 facebook 进行初始授权。

据我了解,使用服务器端身份验证会获得 60 天的令牌,而获取新令牌的唯一方法是重做身份验证过程,假设用户没有更改密码,登录到 facebook,并且没有-authorized 应用程序只会显示为一系列自动重定向。

有没有其他方法可以做到这一点?例如,fb_exchange_token 到底是做什么的?它适用于这种情况还是仅适用于通过 javascript API 接收的令牌?

除了合并本机 facebook API 并为网站做同样的事情之外,我们还能为这些非网站用户界面做些什么吗?


尝试使用 fb_extend_token 毫无结果。重新运行标准身份验证会返回相同的令牌,但有效期为 60 天。稍后再做一次并没有扩展令牌。我希望这意味着我每天只能这样做一次,而不是每个令牌一次。

4

2 回答 2

2

由于我使用的是服务器端流程并且用户永远看不到密钥,因此我能够稍微修改我的应用程序以使用我的 APPLICATION 令牌。这些密钥属于您的应用程序,只要他们没有撤销其权限,您就可以代表用户使用 API。用户授权令牌可能会过期,但只要用户没有从他们允许的应用程序中明确删除您的应用程序,您的令牌将继续允许您使用 /user/ URL、/me 发布到墙上/ URL 将不起作用,因为您的令牌已绑定到您的应用程序。

于 2013-03-18T18:12:57.087 回答
1

我相信一旦offline_access 的弃用完成,获取/交换访问令牌是做你需要的唯一方法。

在弃用之前具有离线访问权限的任何人仍然可以正常使用您的应用程序,至少 60 天。这段时间结束后,您必须重新授权用户并将其访问令牌再延长 60 天。为此,您让他们登录并授权您的应用程序(如有必要)。然后您使用 fb_exchange_token 扩展他们的访问令牌,因此有效期为 60 天。

我相信你已经看过了,但是这篇文章中已经列出了所有内容,更具体地说,是关于以前使用 offline_access 的部分。我还发现这篇文章对升级很有用。是另一个链接,进一步详细说明了如何处理无效令牌。

于 2012-05-21T18:10:02.217 回答