Неверный ключевой параметр Facebook в опубликованном приложении

Интеграция с Facebook работает нормально, когда приложение запускается на устройстве из Eclipse, приложение подписано здесь с помощью ключа отладки.

Однако теперь я опубликовал приложение и получаю сообщение об ошибке:

"Invalid android-Key parameter. The key ******* does not match and allowed key.

Я добавил новый ключ публикации в настройки приложения в Facebook и добавил ключ, опубликованный в сообщении об ошибке Facebook, как описано здесь.

Это очень расстраивает, у меня была эта проблема при разработке приложения с использованием ключа отладки, где я добавил ключ, сгенерированный из ошибки FB, в настройки приложения в FB, и это сработало, однако теперь это не будет работать:)

PS Я знаю, что у меня есть правильный ключ публикации, так как я указал его в настройках приложения Google Map, и карты отлично работают!

Manifast:

<!-- meta data fro FB API -->
        <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/app_id"/>
        <activity  android:name="com.facebook.LoginActivity"
            android:label="@string/app_name"
            android:theme="@android:style/Theme.Translucent.NoTitleBar"
             />

Я следую инструкциям разработчика FB здесь.

Я получил свой ключ разблокировки здесь:

keytool -list -alias DistributionKeyStoreAlias -keystore "/Users/callanmooneys/Desktop/Android Devolpment/Distributionkeystore" -storepass password -keypass password

Любой вклад высоко ценится (Примечание. FB постоянно болел в шее, разрабатывая это приложение!!!)

1 ответ

Решение

Похоже, вам нужно добавить ключ от ошибки, генерируемой Facebook, в настройки вашего приложения Facebook.

Пришлось закодировать намерение по электронной почте от активности на Facebook, в которой был запрограммирован ключ, отправленный на Facebook.

После того, как я отправил себе сообщение об ошибке в Facebook, я смог правильно скопировать ключ из ошибки и добавить его в приложение "Настройки" в приложении Facebook, вместо того, чтобы пытаться вручную напечатать его из-за ошибки формы, созданной на устройстве Android.

Не удалось получить этот ключ из logcat, так как при запуске из eclipse использовался ключ хранилища ключей отладки, а не ключ выпуска.

Есть ли способ отладки опубликованного приложения?

Во всяком случае, какая боль, это, кажется, достаточно распространенная проблема.

Почему в документации на фейсбуке не упоминается об этом?

Сэкономил бы много времени.

В onCreate()

     Override 
public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState);
 try { 
PackageInfo info = getPackageManager().getPackageInfo( "com.facebook.samples.loginhowto", 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) {
....
Другие вопросы по тегам