2016-06-02 7 views
3

私は自分のアプリでFacebookの統合を持っています。私はFacebookにログインしなければならない、私はappIDを持っており、システムはdeveloper.facebook.comに格納されているキーハッシュを生成している。私は無効なキーハッシュとそのキーハッシュを表示していることを示しているFacebookのアプリケーションのログインを通過します。しかし、私は私のデバイスからfbアプリを削除する場合。クロムを介してログインし、ユーザーの詳細を正常に取得します。キーハッシュが無効です。キーのハッシュは一致しません。私はFacebookのアプリを介して接続する場合に表示されます

今私が知りたいのは、なぜFacebookのアプリを通過するとエラーを表示しているのかです。私はFacebookのアプリを通過したいので、私にこれを解決してください。

ありがとうございます。上記のコード

答えて

1

(唯一のSSHキーを取得するための)アプリケーションクラスのあなたのOnCreateの方法で、サンプルコード下の貼り付け

import android.util.Base64; 
import android.util.Log;import android.content.pm.PackageInfo; 
import android.content.pm.PackageManager; 
import android.content.pm.Signature;import java.security.MessageDigest; 
import java.security.NoSuchAlgorithmException; 

MessageDigest md = null; 
try { 
    PackageInfo info = context.getPackageManager().getPackageInfo(
     context.getPackageName(), 
     PackageManager.GET_SIGNATURES); 
    for (Signature signature : info.signatures) { 
    md = MessageDigest.getInstance("SHA"); 
    md.update(signature.toByteArray()); 
    } 
} catch (PackageManager.NameNotFoundException e) { 

} catch (NoSuchAlgorithmException e) { 

} 
Log.i("KeyHash = ",Base64.encodeToString(md.digest(), Base64.DEFAULT)); 

あなたのログにKeyHashを印刷します。 開発者パネルのfacebookに秘密鍵をコピーして貼り付けます。 注:リリース/デバッグ環境または参照先によってキーハッシュが異なりますenter image description here

関連する問題