Articles of facebook login

为什么Facebook应用程序ID突然变得无效?

首先,我确定我的fb应用程序ID是有效的,因为用户可以使用facebook凭据登录我的Android应用程序,直到几天前(我认为它是在2月份更改之前)。 最近新用户无法再使用Facebook登录我的Android应用程序,因为facebook一直说我的fb app无效(错误是: Invalid application fb-app-id )但是已经授权我的Android应用程序访问其信息的old users仍然可以登录在使用Facebook。 (旧用户仍然可以使用Facebook凭据登录我的应用,但新用户不能) 有谁知道为什么这发生在我的Facebook应用程序以及如何解决它? 编辑:访问https://graph.facebook.com/facebook-app-id时出现此错误 { “error”: { “message”: “Unsupported get request.”, “type”: “GraphMethodException”, “code”: 100 } } 谢谢。

Facebook登录android时密钥哈希不匹配

我的应用程序使用简单的Facebook登录。 我已经在我的应用仪表板,key_hash部分输入了keyhash,我能够成功登录。 现在我已经发布了应用程序并尝试登录,但它在webview上显示错误消息 “Invalid android_key parameter. The key rX6qeRitkFCWui3de74rxB_qc1s does not match any allowed key. Configure your app key hashes at http://developers.facebook.com/apps/”. 实际上rX6qeRitkFCWui3de74rxB_qc1s不是我在本机应用程序中的密钥哈希。 它来自哪里? 无论如何,我也在本机应用程序中输入了此键盘,但收到相同的错误消息,无法登录。 哪里出错了? 请帮帮我。

首先使用Facebook进行身份validation然后使用Google导致Firebase for Android出现错误

据我在Firebase文档中了解,如果用户使用凭据对其帐户进行身份validation,则如果凭据尚未与其他凭据相关联,则应使用相同的凭据严格登录。 换句话说,如果我使用Google登录创建帐户,然后(退出后)尝试使用与Google凭据相同的电子邮件登录Facebook凭据,我应该在logcat中看到此exception: “已存在具有相同电子邮件地址但登录凭据不同的帐户。请使用与此电子邮件地址关联的提供商登录。” 是的,我毫不奇怪地得到了这个例外。 但是,如果我使用Facebook创建帐户,然后尝试使用Google凭据登录,则此帐户(Facebook)的提供商将转换为Google。 这次validation不会失败,但不是预期的结果。 我希望以某种方式将每个用户与特定凭据相关联。 我该怎么解决这个问题? 你可以看到下面的代码: public class SignInActivity extends AppCompatActivity implements GoogleApiClient.OnConnectionFailedListener, View.OnClickListener { private static final String TAG = “SignInActivity”; private static final int RC_SIGN_IN = 9001; private GoogleApiClient mGoogleApiClient; private FirebaseAuth mFirebaseAuth; private FirebaseAuth.AuthStateListener mFirebaseAuthListener; private CallbackManager mCallbackManager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_sign_in); // Facebook Login […]

FacebookCallback.onCancel在尝试使用facebook sdk登录时被调用

我有一个Android应用程序,我正在尝试使用Facebook的SDK(版本4.1.0)来获取令牌并登录。这是我的代码: public class LoginActivity extends Activity { private CallbackManager callbackManager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); FacebookSdk.sdkInitialize(getApplicationContext()); callbackManager = CallbackManager.Factory.create(); LoginManager.getInstance().registerCallback(callbackManager, new FacebookCallback() { @Override public void onSuccess(LoginResult loginResult) { AccessToken accessToken = loginResult.getAccessToken(); Log.v(TAG, “Facebook login was successful”); String authToken = accessToken.getToken(); // User authToken here: } @Override public void onCancel() { […]

Android Facebook SDK:上传谷歌播放时,密钥哈希与任何存储的密钥哈希都不匹配

我的应用程序使用facebook api进行用户登录。 在开发它工作正常,但当我上传到谷歌播放它停止工作。 这是错误日志: 12-10 20:20:02.488: W/fb4a(:):BlueServiceQueue(17284): Exception during service 12-10 20:20:02.488: W/fb4a(:):BlueServiceQueue(17284): com.facebook.http.protocol.ApiException: Key hash XXXXXXX does not match any stored key hashes. 12-10 20:20:02.488: W/fb4a(:):BlueServiceQueue(17284): at com.facebook.http.protocol.ApiResponseChecker.b(ApiResponseChecker.java:83) 12-10 20:20:02.488: W/fb4a(:):BlueServiceQueue(17284): at com.facebook.http.protocol.ApiResponseChecker.a(ApiResponseChecker.java:162) 12-10 20:20:02.488: W/fb4a(:):BlueServiceQueue(17284): at com.facebook.http.protocol.ApiResponse.g(ApiResponse.java:239) 12-10 20:20:02.488: W/fb4a(:):BlueServiceQueue(17284): at com.facebook.katana.server.protocol.AuthorizeAppMethod.a(AuthorizeAppMethod.java:272) 12-10 20:20:02.488: W/fb4a(:):BlueServiceQueue(17284): at com.facebook.katana.server.protocol.AuthorizeAppMethod.a(AuthorizeAppMethod.java:29) 12-10 20:20:02.488: W/fb4a(:):BlueServiceQueue(17284): at com.facebook.http.protocol.ApiResponseHandler.a(ApiResponseHandler.java:56) 12-10 […]

Facebook SDK 4.0.1无需登录按钮登录

我正在尝试不使用登录按钮登录。 我跟着facebook教程,但我不能让它工作,总是给我NullPointerException。 我的清单: 我用它来登录facebook的活动: public class MainActivity extends ActionBarActivity { CallbackManager callbackManager; LoginManager loginManager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); FacebookSdk.sdkInitialize(getApplicationContext()); callbackManager = CallbackManager.Factory.create(); loginManager = LoginManager.getInstance(); loginManager.registerCallback(callbackManager, new FacebookCallback() { @Override public void onSuccess(LoginResult loginResult) { // App code Toast.makeText(getApplicationContext(), loginResult.getAccessToken().toString(), Toast.LENGTH_SHORT).show(); } @Override public void onCancel() { // App code } […]

最佳实践(最适合Android):使用Facebook或Google登录validation用户身份

我正在开发一个同时具有Facebook和Google选项登录的应用程序,以及经典的电子邮件+密码登录。 关于使用第三方API登录,我想知道几件事: 1.由于一个用户可以使用他的Facebook帐户登录,然后决定退出并使用他的Google帐户登录,因此用户应该通过他的电子邮件地址进行识别。 因此,每当他使用其他帐户登录时,都会在数据库中搜索电子邮件地址,如果find,则会将此新登录信息附加到之前创建的帐户。 请批准这一点。 2.如果用户使用Facebook登录登录,您可以获得accessToken,userId,用户电子邮件等。对用户进行身份validation的最佳做法是什么,以便它仍然是最安全的方式? 我应该将他的facebook accessToken和电子邮件地址直接发送到服务器吗? 如果服务器检查Facebook,Facebook上是否确实存在accessToken? 在服务器端生成应用程序专用访问令牌的最佳和最安全的方法是什么? 我听说过有关MD5哈希的问题……我是否应该在API调用中仅使用这个新生成的访问令牌而不使用任何facebook凭据? 或者我应该使用Facebook凭据,从而将它们保存在服务器/客户端? 我将在我的应用程序的服务器端使用Java App-engine。 3.如果用户在Facebook上删除了他的帐户怎么办? 该应用程序将如何知道这一点? 如果它无论如何都知道它,该怎么办? 如果它仍然有效,我是否应定期检查访问令牌? 为什么,如何以及如何经常? 我不确定我是否在正确的地方提问。 如果我错了,请按照我应该去的方式重新定向,也许是这些最佳实践的一些链接? 到目前为止,我还没有发现任何可以回答我所有问题的内容。 我想,这与编码和安全性有关。 感谢您提供的所有提示和技巧。

在Facebook Android SDK 4.0中设置按钮的登录/注销文本?

我的xml看起来像这样 和背景drawble xml是 现在在android工作室预览屏幕中,它按预期显示。 但是当我在手机或模拟器上运行它时,默认显示“登录FACEBOOK”,就像这样 如何在运行应用程序时获取自定义文本?

登录错误:登录此应用程序时出错。 请稍后再试

我收到了这个错误。 当我尝试使用Facebook登录我的应用程序时。 当我第一次进行身份validation时,它将正常工作。 在我取消了我的应用程序并且现在尝试使用Facebook登录后,我收到此错误。 另一个问题 :在device1中进行身份validation并尝试在设备2上使用facebook登录时也会出现同样的错误。 我find的解决方案:当我从Facebook应用程序设置中删除App身份validation时,它正在上面的场景中运行,但这不是一个很好的解决方案,我们可以告诉用户如何执行此操作? btnFbLogin.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(accessToken != null) { boolean expires = accessToken.isExpired(); if(!expires) { performFbLoginOrSignUp(accessToken); } } else { LoginButton loginButton = (LoginButton) findViewById(R.id.login_button); callbackManager = CallbackManager.Factory.create(); if (loginButton != null) { loginButton.setReadPermissions(“public_profile”, “email”, “user_friends”); if (CommonUtil.isConnectingToInternet(LoginActivity.this)) { loginButton.performClick(); loginButton.setPressed(true); loginButton.invalidate(); loginButton.registerCallback(callbackManager, mCallBack); […]

通过Facebook登录解析 – 可能是自APK v42或Graph API v2.4

注意:我已经编辑了这个问题的摘要,因为我认为重点必须从Android API转移到Facebook本身。 自从我的设备更新到Facebook v42,或者自从Facebook将Graph API更新为v2.4( 8月7日 )以来,我的应用程序无法登录。 我的三星S6(API 22)最初失败了,3天后,当我的HTC(API 21)更新了Facebook应用程序时,它直到那时才成功登录。 采取的初步措施: 我试图从测试用户的Facebook权限中删除该应用程序并重新添加它 – 在这种情况下,它要求允许权限然后失败。 我测试了多个测试用户,但都失败了。 我已经禁用了预安装的Facebook应用程序 – 这允许将webview作为登录方法,但它仍然失败。 从某些设备上的顶级答案中获取登录失败 。 更新1: ParseException取自评论:“用户以不同的Facebook用户身份登录。” 如果我使用我的 Facebook凭据登录,该应用程序不会出错。 由于我不是注册测试用户,因此应在Parse数据库中创建用户并继续使用MainActivity。 相反,LoginActivity仍然存在,我的数据不会添加到数据库中。 更新2: 我的HTC运行5.0今天刚刚更新了Facebook应用程序,现在出现了相同的错误Toast(“Facebook登录失败”)。 我禁用并卸载了应用程序,但Toast仍然出现。 更新3: 我更新了Parse SDK,并更改了我的依赖项以反映最新的Facebook SDK(4.5.0)。 仍然发生相同的错误。 更新4: 该应用程序在没有本机Facebook应用程序的任何模拟器上成功登录。 ParseLoginFragment – 实现吐司的地方 private LogInCallback facebookLoginCallbackV4 = new LogInCallback() { @Override public void done(ParseUser user, ParseException e) { if […]