我正在开发一个需要集成 Facebook 社交功能的应用程序。
在我的应用程序中有一个按钮可以将用户连接到他的 Facebook 个人资料。 当用户按下这个按钮时,我只打开一个带有 Facebook 站点和用户 Facebook 页面的 webview。现在假设我知道他的电子邮件和密码,我想自动连接他,他不必每次都输入他的电子邮件和密码。 我试图解决它抛出我的下一个 question , 但如您所见,没有成功。
我还尝试使用 CookieSyncManager、CookieManager 和手动处理持久保存 cookie。
我想我可以通过更改发送到 webView 的 url 来解决它,但我不知道哪个 url。 (试过 http://www.facebook.com/connect/connect_to_external_page_widget_loggedin.php
和 http://www.facebook.com/plugins/login.php
然后连接用户 Facebook 页面的 url,例如 http://www.facebook.com/UserProfile
)
非常感谢任何帮助!
谢谢。
最佳答案
您不能手动登录用户到 facebook。这就是 oAuth 的重点,该过程对您的应用程序应该是透明的,当用户完成身份验证后,您的应用程序将只会获得一个 AccessToken。
从那时起,AccessToken 几乎可以永远与您同在。
以下情况无效:
session 过期
假设您正在使用 Facebook Android SDK 对 facebook 进行身份验证/集成,这可以通过添加对
onResume()
的调用来解决。调用成功后,您的 token 将在 60 天内有效。public void onResume() { super.onResume(); facebook.extendAccessTokenIfNeeded(this, null); }
用户修改密码
用户取消对您的应用的授权
用户退出 Facebook
这三种情况你无能为力!您的 token 将失效,您将不得不要求用户使用正常流程重新进行身份验证。
Follow this tutorial to integrate Facebook inside your Android app
关于android - 如何在 Android 应用程序中保持与 facebook 的连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11134371/