- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
由于一些不幸的术语选择,这个主题很难用谷歌搜索,所以在我问我的问题之前,这里有一个快速的澄清:
Facebook 帐户(即一个人的顶级个人帐户)可以有子帐户(公司、品牌、名人等),不幸的是,Facebook 将其称为“帐户”。与这些“帐户”交互的端点位于 [user id]/accounts。出于这个问题的目的,我将这些称为“子帐户”
Facebook 声明和实际观察:
Facebook 在这篇文章 ( https://developers.facebook.com/roadmap/offline-access-removal/ ) 中说了一些事情:
有两种类型的 access_tokens:“长期用户 access_token 的有效期为 60 天,而短期用户 access_token 目前的有效期为 1 到 2 小时”实际观察: 似乎是真的。我的应用程序只做服务器端,所以我无法确认短类型。
“如果 access_token 是从服务器端 OAuth 调用生成的,则默认情况下生成的 access_token 将具有更长的过期时间”实际观察:我的服务器端应用确实会生成更长的时间, 60 天到期。
“当从...请求扩展的 access_token 时 https://graph.facebook.com/oauth/access_token?client_id=APP_ID&client_secret=APP_SECRET&grant_type=fb_exchange_token&fb_exchange_token=EXISTING_ACCESS_TOKEN ...如果您传递一个具有长期有效期的 access_token,端点将简单地将相同的 access_token 传回给您,而不会更改或延长到期时间”实际观察:我的情况并非如此。当我通过最初的 60 天 token 时,我会得到一个不同的 token 。此外,新的、不同的 token 根本不起作用。 FB 端点在尝试使用它时返回身份验证失败。
“当用户授予应用程序 manage_pages 权限时,该应用程序能够通过查询 [用户 ID]/帐户来获取用户管理的页面的页面访问 token ...通过使用长期用户访问 token ,查询 [User ID]/accounts 端点现在将提供不会过期的页面访问 token 。” 实际观察:我的应用程序检索的页面访问 token (使用原始的、根的、60 天的 token )在 60 天后到期,而此时它们应该是无限的。根据 #3,我无法使用新的、不同的(据推测是扩展的)访问 token 进行尝试,因为它无效。
问题:
我的服务器端请求生成有效期为 60 天的 token 。请求扩展 token 应该回显相同的 token ,但事实并非如此。为什么不呢?
我取回的新的不同 token 根本不起作用。为什么不呢?
如果我的应用获得的原始访问 token 是 60 天的长类型,那么我使用它们检索的 PAGE 访问 token 应该不会过期。但它们确实会过期。为什么?
任何帮助将不胜感激!!!
版主注意事项:在因不够“面向代码”而禁用此问题之前,Facebook 将所有问题指向 Stack Exchange。 https://developers.facebook.com/support/如果我不能在这里问这个问题,那我去哪里问呢?
更新:官方支持的检查 token 有效性的方法是如下:
graph.facebook.com/debug_token?
input_token={token-to-inspect}
&access_token={app-token-or-admin-token}
当我使用此方法时,我为我的用户获得的应用程序 token 显示到期“0”,这是他们应该的。所以我猜他们是无限的。在 60 天过去之前,我不可能确定 FB 是否在用 "expires":0 说真话;
最佳答案
第一次发帖,多多包涵。
取自:https://developers.facebook.com/docs/facebook-login/access-tokens/
Even the long-lived access token will eventually expire. At any point, you can generate a new long-lived token by sending the person back to the login flow used by your app - note that the person will not actually need to login again, they have already authorized your app, so they will immediately redirect back to your app from the login flow with a refreshed token - how this appears to the person will vary based on the type of login flow that you are using, for example if you are using the JavaScript SDK, this will take place in the background, if you are using a server-side flow, the browser will quickly redirect to the Login Dialog and then automatically and immediately back to your app again.
After doing the above you will obtain a new short-lived token and then you need to perform the same exchange for a long-lived token as above.
当您尝试延长长期 token 时,Facebook 会向您发送一个短期刷新 token 。当您获得此刷新 token 时,它的使用方式与登录流程中的 token 用于从 Facebook 获取另一个扩展 token 的方式相同。
对于您的第三个问题,主页访问 token 必须使用主页管理员的用户 token ,以便您能够代表主页获得授权。如果您在刷新页面 token 时遇到问题,请检查有关重新验证的应用权限。
关于facebook - 如何获得永不过期的 Facebook _Account_(即页面)访问 token ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17282559/
我正在为我的雇主编写脚本,以从他们自己的站点获取某些数据。出于一长串原因,我需要从网站上获取数据,如图所示。我发现,其中一些数据是通过 js 调用检索的... 回想起来,我应该选择 Mechanize
我正在使用 python 和 cryptography.io 来签署和验证消息。我可以通过以下方式获得签名的 DER 编码字节表示: cryptography_priv_key.sign(messag
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 6年前关闭。 Improve thi
是否可以区分 ECDF?以下面得到的为例。 set.seed(1) a <- sort(rnorm(100)) b <- ecdf(a) plot(b) 我想对 b 求导以获得它的概率密度函数 (PD
我找到了如何从 navigator.mimeTypes 获取 mimetypes: function GetMimeTypes() { var message = ""; var mi
我在表单中使用单选按钮来隐藏/显示联系人表单中的成员 ID 字段。问题是,当 javascript 更改 html 中包含的隐藏 id 字段(该字段设置为“无”值)时,该字段将不再通过 post 可用
我正在做单元测试。我必须测试所有可能的if..else情况。但是在此if语句中: int32_t i32Res = snprintf(buffer, len, "The%d_String_%d", 0
我有一个 Facebook 应用程序,我想从中获取“喜欢”的总数。我想知道这是否可能。 其中 ID 是应用程序的 ID,ACCESS_TOKEN 是我尝试过的应用程序的当前访问 token : gra
如果我有多个计算实例尝试同时获取同一个 blob 的租约,则似乎经常会成功。我的印象是,一旦租约发出(并因此被客户获得),就不可能同时发出另一个租约? 我希望情况确实如此,我一直在 Azure 中使用
这是我的索引 POST /blogs/1 { "name" : "learn java", "popularity" : 100 } POST /blogs/2 { "name" : "l
我正在将 Symfony2 与 FOSUserBundle 一起使用。我需要为用户获得最高角色。 role_hierarchy: ROLE_CONTRIBUTOR: ROLE_USER
我正在向服务器发送基于 REST 的请求。我希望尽快得到答复,并希望了解可以进行的各种优化。 一种方法当然是在线程中并行发送这些请求。还有哪些其他选项可用于优化此功能? 在服务器上,可以添加哪些配置?
这可能是某种重复的问题,但我似乎找不到合适的解决方案。我正在使用 git4idea.history.GitHistoryUtils.history() 获取提交列表。如果 checkout 其中一个较
我正在做一个程序,可以输入每周的工资和那一周的总工作时间。它应该以小时工资率显示答案。但是我无法显示正确的“centavos/2 decimal places”公式并且它不想使用 float % fl
已结束。此问题正在寻求书籍、工具、软件库等的推荐。它不满足Stack Overflow guidelines 。目前不接受答案。 我们不允许提出寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以便
我已经尝试了 mContext.getMainLooper() 和 Looper.getMainLooper()。两者都返回相同的结果,但我想知道哪种方法正确? 我还从 Android 开发人员链接中
我有一个“affiliates”表,其中包含“user”和“referredBy”列。 给定一个用户,我希望获得该用户推荐的所有“n 级”玩家。对于 n=1,我们只关心您直接推荐的玩家数量: SELE
我在 PostgreSQL 9.5 数据库中有两个表: project - id - name task - id - project_id - name - updated_
请帮助我怎样才能得到我预期的结果,在此先感谢并抱歉我的英语不好。 PHP: $dog = implode(',', $data['dogbreed']); $query .= "AND `do
我有 let impulse = CGVectorMake(CGFloat(Constants.impulse), 0) 如何在不创建另一个 CGVector 的情况下得到它的负值? 我正在考虑在 C
我是一名优秀的程序员,十分优秀!