分页不起作用,也许我找到原因了

问题描述 投票:0回答:5

我正在尝试在我的应用程序中实现流(新闻提要)分页功能,但它无法按预期工作。我在这里发现了很多类似的问题,但没有解决这个问题的解决方案。

我尝试了 Graph APIFQL,行为相似。成功获取结果一两次后,就无法获取结果(获取空的 JSON 数组)。

最后我发现这个问题取决于

access_token
。如果我只是更改源代码以使用 Android SDK Stream 示例应用程序 ID 而不是我自己的应用程序 ID 进行身份验证,则它可以完美运行。

因此,我相信 Facebook 服务器会检查应用程序 ID 并向我的应用程序返回一些奇怪或受限制的

access_token

获得有效

access_token
有什么条件吗?我尝试了与 Android SDK Stream 示例应用程序完全相同的权限,但无法解决问题。

更改App ID(以获得有效的

access_token
)可以解决这个问题吗?

android facebook-graph-api pagination facebook-fql
5个回答
1
投票

验证您的应用程序具有

read_stream
权限。没有它,你将不会获得任何非公共对象。

FQL 和流似乎还存在一些常见的 LIMIT OFFSET 问题。请参阅 Facebook FQL 流限制?http://developers.facebook.com/bugs/303076713093995


1
投票

尝试在 Facebook 上使用 SDK。然后获取访问令牌。


1
投票

使用适用于 Android 的 Facebook SDK。可以在这里找到。有 getter 和 setter 方法来获取和设置访问令牌。第一次执行单点登录 (SSO) 时,您必须将访问令牌保存在 SharedPreferences 中,无需一次又一次重新进行身份验证。

只需根据您的偏好设置访问令牌并调用 feed 对话框offline_access 权限将被弃用。 Android 版 Facebook SDK 会完成剩下的工作。只需通过 Bundle 提供足够的参数即可。


0
投票

Android 上的一些事情:

  • 获取正确的权限“read_stream”
  • 使用安卓SDK
  • 检查 Android 附带的示例。在 onCreate() 中,我验证了 Facebook 对象

    this.facebook.authorize(this, new DialogListener() {....}

  • 使用 Facebook 的 Graph API Explorer 进行测试。

如果您粘贴一些代码,我可以帮助您进一步调试。


0
投票

Facebook 服务器返回的访问令牌仅在特定时间段内有效。之后您需要刷新您的访问令牌,这是一项乏味的工作。

因此,为了避免这种情况并维护您的令牌,您需要将权限“offline_access”添加到您的权限列表中。几乎 Facebook 相关应用程序都使用这种方法。

© www.soinside.com 2019 - 2024. All rights reserved.