2013-01-23 1 views
6

私はこの記事のタイトルで述べたような問題があります。私はログインできません。Android Facebook APIの例外 - remote_app_idが保存されたIDと一致しません

SessionState currentstate = session.getState(); 

は私に状態CLOSED_LOGIN_FAILEDを与えます。私はこのポストを見ましたAndroid Facebook SDK 3.0 gives "remote_app_id does not match stored id" while logging in

私はkeytoolを使ってキーを生成し、それをApp Dashboardに入れました。しかし、それは役に立たないようです。これについての助けを受けて

+0

この背後にある理由は、破損したopensslです。http://gnuwin32.sourceforge.net/packages/openssl.htmからopensslをダウンロードしてください。あなたの問題は無くなります。 –

答えて

31

あなたの活動のoncreateからこのメソッドを呼び出すと、logcatにハッシュキーが表示され、Facebookのアプリ設定でハッシュフィールドに追加されます。私は、これはすでに選択された答えを持っている知っているが、あなたがコードでkeyhashを印刷するのではなく、keytoolを使用しようとしている場合は、必ずkeytoolを使用させることに注意することが重要であることが

public void printHashKey() { 

     try { 
      PackageInfo info = getPackageManager().getPackageInfo("your.package.name", 
        PackageManager.GET_SIGNATURES); 
      for (Signature signature : info.signatures) { 
       MessageDigest md = MessageDigest.getInstance("SHA"); 
       md.update(signature.toByteArray()); 
       Log.d("TEMPTAGHASH KEY:", 
         Base64.encodeToString(md.digest(), Base64.DEFAULT)); 
      } 
     } catch (NameNotFoundException e) { 

     } catch (NoSuchAlgorithmException e) { 

     } 

    } 
+1

私はこれを行い、印刷されたキーは今は違う?私は今この新しい鍵を入れました。サーバーに反映するにはどのくらい時間がかかりますか? – perceptron

+0

あまり時間がない、今すぐ試してみてください。あなたが正しい場所にそれを追加したことを確認してください:) – AAnkit

+0

は、この行のパッケージ名を変更しましたgetPackageInfo( "your.package.name")。実際にはここにあなたのパッケージ名を追加する必要があります。あなたがそれをしたことを確認してください、そうでなければハッシュキーは違うでしょう。 – AAnkit

5

に動作しますもう一度お試しくださいそれはJava 1.7の代わりにJava 1.6が付属しています。

+0

ありがとうございます。これが私が苦労していた理由の一つかもしれません。 – perceptron

+0

問題ありません!うまくいけば、他の人を助けることができます。 – natez0r

関連する問題