gpt4 book ai didi

android - 登录后Facebook Android SDK不打开Session

转载 作者:太空狗 更新时间:2023-10-29 16:37:32 24 4
gpt4 key购买 nike

1)这个问题出现了很多次,awnser总是“you have the wrong Key Hash”。

2) Facebook 文档告诉我们使用这段代码来获取我们的 key 哈希:

keytool -exportcert -alias MyKeyAlias -keystore path\to\my\Key | openssl sha1 -binary | openssl base64

3) 好的,这给了我那个 key :1yl**********Q3A

当我尝试登录时,我收到以下消息: com.facebook.http.protocol.ApiException: (#404) key 哈希 XHA**********q10 与任何存储的 key 哈希不匹配。

4) 然后我将 XHA**********q10 复制并粘贴到我的应用程序设置中,这也不是我的 key 。

5) 所以,我在文档中读到了一段代码,可以为您提供正确的 key 哈希。这段代码:

// Add code to print out the key hash
try {
PackageInfo info = getPackageManager().getPackageInfo(
"com.facebook.samples.hellofacebook",
PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
} catch (NameNotFoundException e) {

} catch (NoSuchAlgorithmException e) {

}

成功了!给我这个哈希值:+HA**********q0=

6) 我将最后一个哈希值放在应用程序设置上,是的,现在我可以连接了!但是,现在我无法打开 session !!!

我正在使用以下代码:

public class FBActivity extends Activity {

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.my_view);

System.out.println("Start Facebook login");
Session.openActiveSession(this, true, new Session.StatusCallback() {
public void call(Session session, SessionState state,
Exception exception) {
System.out.println("Call");
if (session.isOpened()) {
System.out.println("Open");
Request.newMeRequest(session, new Request.GraphUserCallback() {
public void onCompleted(GraphUser user, Response response) {
System.out.println("Complete");
if (user != null) {
System.out.println(user.getName());

} else {
System.out.println("User NULL");
}
}
}).executeAsync();
} else {
System.out.println("Not open");
}

});
}
}

日志是:

"开始Facebook登录

打电话

不开放

打电话

未开放"

我不知道我还能做什么,因为我已经有了正确的 key 哈希并且可以进行登录。

最佳答案

我想通了:

缺少以下方法。刚刚添加它,一切正常。

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data);
}

关于android - 登录后Facebook Android SDK不打开Session,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25062095/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com