Неверный ключевой параметр 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) {
....