首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何测试2012年12月与offline access相关的突破性更改?

如何测试2012年12月与offline access相关的突破性更改?
EN

Stack Overflow用户
提问于 2012-12-04 10:00:28
回答 2查看 263关注 0票数 1

我们有一个产品,允许人们在Facebook上安排帖子。我们依赖的是离线访问权限,即12月5日的scheduled to be removed

我们认为我们已经实现了正确的60天会话扩展逻辑,但在测试中遇到了困难。

我们创建了一个新的测试Facebook应用程序,并启用了“2012年12月突破性更改”迁移设置。新用户授权新的应用程序(我们仍然请求offline_access权限)。然后扩展会话,它返回相同的会话令牌,不带expires参数。当我们使用Access Token Debugger时,它说令牌永远不会过期。

我们尝试在没有通过offline_access许可的情况下进行授权,但无法获得超过5760 (4小时)的过期时间,这使得仍然有必要通过。

我们非常想测试这一突破性的变化,但我们不能创建会话过期且必须不断扩展的场景。我们如何测试这一点呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-05 04:27:40

解决方案是,还必须启用第二个迁移设置"Remove offline_access permission“。只有在启用了“2012年12月突破更改”迁移设置时,您的应用程序才能获得60天的会话令牌。

这有一个不幸的副作用,那就是将现有的永不过期的会话令牌立即转换为60天到期的令牌。Facebook表示,他们将继续尊重现有的永不过期的令牌,但考虑到这两个设置都必须启用,您的应用程序将被迫将所有用户视为拥有60天令牌。

票数 1
EN

Stack Overflow用户

发布于 2012-12-04 12:08:52

是的,我以前测试过这个。以下是使用Debugger和浏览器测试60天令牌的步骤。您可以为您的应用程序调整这些调用,并使用一些服务器端日志记录将令牌复制粘贴到调试器中,以确认令牌的到期日期。

首先,不要再要求offline_access

使用Graph API Explorer获取访问令牌。将Application:设置为你的应用。下面,我的应用程序名为ES1:

(只有您是管理员或开发人员的应用程序才会出现在“应用程序”列表中)

单击"Debug“按钮并确认您有一个短暂的令牌:

注意:在前面的截图中没有offline_access烫发。

执行此调用以将短期令牌交换为长期令牌。我只是将其粘贴到浏览器中。您将在应用程序的代码中包含以下内容:

https://graph.facebook.com/oauth/access_token?grant_type=fb_exchange_token&client_id=APPID&client_secret=APPSECRET&fb_exchange_token=SHORT_LIVED_TOKEN

token交换的结果:

您可以将此新令牌粘贴到调试器中,以确认它将在60天后过期:

因此,只需将上述步骤转换到您的应用程序中,记录令牌,并在进行过程中使用Debugger检查这些令牌。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13694989

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档