在Android中存储Facebook凭据以获得谷歌智能锁密码

在Android中存储Facebook凭据以获得谷歌智能锁密码,android,google-smartlockpasswords,Android,Google Smartlockpasswords,在谷歌智能锁密码中存储Facebook凭据 我能够在智能锁密码中存储基本用户名/密码凭据。有大量关于谷歌认证的文档和示例: GoogleSignInAccount gsa = signInResult.getSignInAccount(); Credential credential = new Credential.Builder(gsa.getEmail()) .setAccountType(IdentityProviders.GOOGLE) .setName

在谷歌智能锁密码中存储Facebook凭据

我能够在智能锁密码中存储基本用户名/密码凭据。有大量关于谷歌认证的文档和示例:

GoogleSignInAccount gsa = signInResult.getSignInAccount();
Credential credential = new Credential.Builder(gsa.getEmail())
        .setAccountType(IdentityProviders.GOOGLE)
        .setName(gsa.getDisplayName())
        .setProfilePictureUri(gsa.getPhotoUrl())
        .build();
但到目前为止,我无法存储Facebook凭据。应该是类似的。但究竟是什么呢?或者它是完全不同的还是不受支持的

Credential credential = new Credential.Builder(<what goes here?!>)
        .setAccountType(IdentityProviders.FACEBOOK)
        .setName(<and here?>)
        .setProfilePictureUri(<is this necessary?>)
        .build();
Credential-Credential=new-Credential.Builder()
.setAccountType(IdentityProviders.FACEBOOK)
.setName()
.setProfilePictureUri()
.build();

我能够获得我认为可以使用的智能锁保存Facebook登录凭据

我的应用程序使用FBAPI登录。从那里,我向我的服务器发送一个令牌,然后服务器又向用户发送电子邮件和用户名。我存储这些信息的方式如下:

    Credential credential = new Credential.Builder(user.getEmail())
       .setAccountType(IdentityProviders.FACEBOOK)
       .setName(user.getName())
       .build();
我并不完全熟悉Facebook API,但我认为您可以从Facebook SDK获取电子邮件和用户名


使用此功能保存用户FB凭据后,我可以在passwords.google.com上查看这些凭据。密码显示为“With Facebook”。

当您启动应用程序(但尚未登录)时,您会请求凭据。好的,当您找到facebook的凭据时,如何“自动”连接到facebook sdk?使用Google登录,您可以使用Auth.GoogleSignInApi.silentSignIn()。我没有执行任何后台登录。Facebook加载程序在我登录用户时显示。如果您不想看到任何迹象表明他们正在登录以执行silentSignIn,那么不幸的是,我和您处境相同。@Elforama对于facebook,您基本上必须调用
registerCallback()
,这将在
onSuccess()中为您提供令牌
这会在屏幕上显示一个加载符号,但它的作用类似于谷歌的silentSignIn()答案