【问题标题】:Check if app is de-authorized facebook android SDK 4.0检查应用程序是否被取消授权 facebook android SDK 4.0
【发布时间】:2015-06-11 09:10:46
【问题描述】:

尝试通过示例应用集成 Facebook Android SDK 4.0

问题:

  1. 我们如何在应用仪表板中检查应用是否已被用户取消授权。尝试在新的 SDK 文档中使用 AccessTokenTracker,但当我取消对应用的授权时似乎没有调用它。

AccessTokenTracker 仅在我 login 或更改帐户密码时调用。是否还有其他类可以检查应用程序的取消授权?

示例应用:https://github.com/facebook/facebook-android-sdk/blob/b384c0655fe96db71229bfdcb981a522f3f1e675/samples/Scrumptious/src/com/facebook/scrumptious/MainActivity.java

  1. AccessToken 究竟存储在我们的应用中的什么位置?

developer.facebook 上的文档现在真的很差。 我只想使用SDK。我不打算同时使用Graph API。 任何想法表示赞赏。

谢谢!

【问题讨论】:

  • SDK 调用 Graph API。因此,您当然需要对 Facebook 进行某种调用,这将是 Graph API 调用
  • 我正在初始化 facebookSDK 和一切。我可以做一个帖子和所有的好东西。唯一的问题是我似乎无法确定该应用程序是否已被取消授权。编辑:你是说我们必须使用图形 API 吗?在那种情况下,我如何能够在不显式调用图形 API URL 的情况下发布帖子?

标签: android facebook facebook-android-sdk facebook-access-token


【解决方案1】:

1) 当用户取消对您的应用程序的身份验证时,您不会在客户端上接到电话。当你打电话时会发生什么,它会失败。 GraphResponse 的 getError 将不为空。在这种情况下,FacebookRequestError 的类别是 LOGIN_RECOVERABLE,因为您需要再次将用户带到登录流程。您可以调用其中一种方法以使用收到的响应启动该过程:https://github.com/facebook/facebook-android-sdk/blob/b384c0655fe96db71229bfdcb981a522f3f1e675/facebook/src/com/facebook/login/LoginManager.java#L96-L115

2) 访问令牌存储在应用程序的共享首选项中,密钥为 com.facebook.AccessTokenManager.CachedAccessToken

【讨论】:

  • 您的回答确实有帮助。它确实导致了一个问题。 SDK 的入门文档没有说明有关 graphResponse 的任何内容。它在 LoginManager 上有一个回调。您是说还需要使用 Graph API。你介意写一些伪代码或指向一些链接/文档吗?
  • 而我在这里监听的回调是什么以获得 LOGIN_RECOVERABLE 错误代码?
  • 这取决于您在使用 Facebook 登录后要执行的操作。大多数情况下,您将调用 Graph API 上的函数,它们将返回一个 GraphResponse,错误将出现在该 GraphResponse 对象上。您还可以使用内部使用 Graph API 的 ShareApi,对于这些,onError 回调将具有 FacebookException。您需要检查它是否属于 FacebookGraphResponseException 类型,然后它也会有一个 GraphResponse。
  • 你的意思是在 shareDialog.registerCallback 上使用 FacebookCallback 吗?我已经尝试过了,在抽象 impl 中永远不会调用 onError
  • 不,分享对话框实际上并不要求用户登录(通过您的应用程序)才能发帖,因此即使他们取消了对您应用程序的授权,他们仍然可以使用分享对话框。如果您使用 ShareApi 方法或 GraphRequest(或再次登录),您只会收到错误。
猜你喜欢
  • 1970-01-01
  • 2021-09-18
  • 2012-01-30
  • 2014-04-28
  • 2013-03-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多