来自@avs099 的编辑:我在这篇文章上开始赏金,因为我有完全相同的问题。我在这里总结一下问题,把帖子本身不做任何改动留在底部以供参考。
我们所拥有的: Facebook 页面访问令牌,如下所述获得:作为页面进行身份验证,并且使用新的fb_exchange_token请求将其有效期延长至 60 天。
问题是什么:这个令牌可以工作一段时间 - 有时我可以在几天内将数百张照片发布到我的粉丝页面;有时它实际上是几张照片 - 然后我开始得到任何一张
(OAuthException) 使访问令牌失效时出错:由于用户更改了密码,会话已失效。
或者
(OAuthException) 使访问令牌无效的错误:会话与当前存储的会话不匹配。这可能是因为用户在创建会话后更改了密码,或者 Facebook 出于安全原因更改了会话。
Facebook 的例外——但我当然没有更改密码或取消对应用程序的授权。
附加信息:不确定这是否重要,但:
- 有时我在从 Facebook 请求令牌几天后开始使用令牌
- 令牌是从服务器请求的(由 C# 后端),该服务器位于与将照片发布到粉丝页面的桌面应用程序不同的地理区域。
- 有时会发生几个不同的桌面应用程序从不同的 PC 发布照片(我猜是不同的 IP)
任何人都知道发生了什么以及如何解决这个问题?
谢谢你。
我有一个 facebook 应用程序有两个目的:
1) 允许用户通过 facebook 连接到我的网站 2) 允许我的网站发布到我的网站 facebook 粉丝页面墙
我关心的是第二种用法。我曾经能够在粉丝页面上设置应用程序的权限,只允许发布(通过 php sdk),而不用担心访问令牌。现在我创建了一些新的粉丝页面,并且该功能似乎已被删除。好的,所以我完成了为用户(始终是我或我的 facebook 粉丝页面的其他管理员)获取访问令牌(成功)的整个过程,并使用该令牌来获取我管理的粉丝页面的访问令牌(我有manage_pages 权限以及我要发布到的页面的其他管理员)。但是,由于引擎开始将内容发布到我的粉丝页面,令牌已过期并出现以下两条错误消息之一:
使访问令牌无效时出错:会话与当前存储的会话不匹配。这可能是因为用户在创建会话后更改了密码,或者 Facebook 出于安全原因更改了会话。
或者
OAuthException:使访问令牌无效时出错:由于用户更改了密码,会话已失效。
但这不是依赖于外部用户的访问令牌,只依赖于内部人员(我和另一个人现在)。我们不会更改密码或做任何事情。我什至在获得令牌后通过注销 Facebook 对其进行了测试,并且效果很好。过了一会儿,它们无缘无故过期,我无法确定。当我得到令牌时,我可以在调试工具上检查它们,它们应该持续 60 天(根据文档),尽管该工具说它们永不过期。
我已经设置了系统,因此当它无法发布到页面时,我会收到一封电子邮件,其中包含指向我的站点的链接以更新令牌。
有人知道发生了什么吗?