SERVER_ERROR: [код] 1675030 [сообщение]: Ошибка при выполнении запроса

Я использую Facebook для входа в Android.
Код:

callbackManager = CallbackManager.Factory.create();
    LoginButton loginButton = (LoginButton) this.findViewById(R.id.login_button);
    loginButton.setReadPermissions("email", "public_profile");
    loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
        @Override
        public void onSuccess(LoginResult loginResult) {
            // App code
            Log.println(Log.ASSERT, "FB", "inicio session ");
        }

        @Override
        public void onCancel() {
            Log.println(Log.ASSERT, "FB", "OP NO completada");
            // App code
        }

        @Override
        public void onError(FacebookException exception) {
            Log.println(Log.ASSERT, "FB", " Errro de sesion ");
            exception.printStackTrace();
            // App code
        }
    });

но всегда получаю следующую ошибку:

SERVER_ERROR: [код] 1675030 [сообщение]: Ошибка при выполнении запроса. [extra]: Ошибки при выполнении операции "ProxyAuthAppLoginQuery": в Query.proxy_auth_app_login: не удалось разрешить поле. W/System.err:
at com.facebook.login.LoginManager.onActivityResult(LoginManager.java:190) W/System.err: at com.facebook.login.LoginManager $ 1.onActivityResult(LoginManager.java:159) W/System.err: at com. facebook.internal.CallbackManagerImpl.onActivityResult(CallbackManagerImpl.java:82) W/System.err: at com.procibernetica.moca.MainActivity.onActivityResult(MainActivity.java:130) W/System.err: at android.app.Activity. dispatchActivityResult (Activity.java:5423) W/System.err: at android.app.ActivityThread.deliverResults(ActivityThread.java:3401) W/System.err: at android.app.ActivityThread.handleSendResult(ActivityThread.java:3448) W/System.err: at android.app.ActivityThread.access $ 1300 (ActivityThread.java:138) W/System.err: at android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1284) W/System.err: at android.os.Handler.dispatchMessage(Handler.java:102) W/System.err:
на android.os.Looper.loop(Looper.java:149) W/System.err: at android.app.ActivityThread.main(ActivityThread.java:5061) W/System.err: at java.lang.reflect.Method.invokeNative (собственный метод) W/System.err: at java.lang.reflect.Method.invoke(Method.java:515) W/System.err: at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run( ZygoteInit.java:787) W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:603) W/System.err: at dalvik.system.NativeStart.main (собственный метод)

Я добавил следующие разрешения.

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

Ответы

Ответ 1

Я нахожу решение, оно добавляется, когда вы не оцениваете пользователей в своем приложении.

Введите в панель приложения Выберите Rol

введите описание изображения здесь

И добавьте тестовых пользователей, когда вы пытаетесь войти в систему с помощью тестовых пользователей, приложение выполняется без сбоев

введите описание изображения здесь

Ответ 2

Документация на фейсбуке неверна. Мне пришлось добавить все 3 разрешения по умолчанию, чтобы они работали.

loginButton.setReadPermissions("email", "public_profile", "user_friends");

Ответ 3

@Даниальный ответ правильный, но я хочу добавить еще немного. Эта ошибка возникает только тогда, когда приложение находится в стадии разработки. Следуйте этому ссылке и выберите свое приложение. Тогда вы можете сделать две вещи здесь. На вкладке Роли вы можете разрешить вход только своим друзьям или выбрать Обзор приложений и сделать свой app public, после чего любой сможет войти в систему.

Ответ 4

Я получал подобную проблему, потому что пользовательский интерфейс Firebase указывал android:value. Вот как я это решил:

    <application
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme.Base">

    <meta-data
        android:name="com.facebook.sdk.ApplicationId"
        tools:replace="android:value"
        android:value="@string/facebook_app_id" />
<acitivity
...
</activity>
...

Ответ 5

Все приведенные выше ответы не помогли мне, что было, когда вы используете эту команду

keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64

чтобы получить хэши-ключи, которые вы вставляете в конфигурацию facebook.

он попросит вас ввести пароль, сначала я не установил его, поэтому проблема возникла, когда я ввел android в качестве пароля. это сработало !

Ответ 6

Режим реального разработчика Пожалуйста, проверьте статус режима разработчика. Это должно быть "Live". Во-первых, вам нужно добавить URL-адрес конфиденциальности для собственного проекта Facebook, который вы хотите проверить, войдите в Facebook или STH.... Затем включите режим разработчика (Включить)

Ответ 7

В моем случае проблема была неправильной, созданной Key Hash, которая должна быть отправлена на страницу приложения facebook. Решение найдено в этой статье https://developers.facebook.com/docs/facebook-login/android/advanced

Ручная проверка ключевого хеша - вы можете распечатать хеш-ключ, отправленный на Facebook, и использовать это значение в панели приложений. Внесите это изменение в onCreate() в свой основной вид деятельности:

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) {  


} catch (NoSuchAlgorithmException e) {  

}

Ответ 8

Эта ошибка также возвращается в других ситуациях - даже когда ваше приложение является общедоступным или вы указаны в качестве тестера.

Дважды проверьте, что ваш

<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>

разрешает правильный идентификатор приложения Facebook, особенно если вы динамически указываете его с помощью gradle build, а не жестко кодируете его в strings.xml.

Ответ 9

В дополнение к другим ответам также проверьте, проверено ли электронное письмо учетной записи, используемой для входа в систему.

Ответ 10

В моем случае сгенерированный хеш-ключ был неправильным, потому что я использовал неправильный OpenSSL. Я использовал openssl-0.9.8k_X64.zip вместо openssl-0.9.8e_X64.zip, и это породило неправильный хеш-ключ, который вызвал эту проблему, надеюсь, что это поможет кому-то, что я потерял, как 8 часов, пытаясь понять это.

Ответ 11

Добавьте строковый ресурс "facebook_application_id" в ваш файл strings.xml

замените APP_ID вашим идентификатором приложения facebook

<string name="facebook_application_id" translatable="false">APP_ID</string>

Ответ 12

Журнал проблемы: SERVER_ERROR: [код] 1675030 [сообщение]: ошибка при выполнении запроса

И точное решение для этой конкретной проблемы (ошибка при выполнении запроса)
@aloha отвечает обновлением запроса на доступ.
loginButton.setReadPermissions("электронная почта", "public_profile", "user_friends");

  1. Найти, где вы Facebook кнопку логина была вызвана.
  2. Затем установите ReadPermission для кнопки как "электронная почта", "public_profile", "user_friends"

Ссылка на изображение

enter image description here

Журнал проблемы: приложение не настроено. Это приложение все еще находится в режиме разработки. и у вас нет доступа к нему. зарегистрировать тестового пользователя или попросить разрешения у администратора приложения

  1. Приложение не в живом режиме
  2. Вы не указаны в качестве администратора или тестера в
    https://developers.facebook.com/app/yourapp
  3. Ваше приложение Hashkey не установлено. если приложение Facebook не может быть в режиме реального времени, вам нужен хеш-ключ для его проверки. потому что приложение еще не Live. Facebook не разрешает доступ.

КАК ИЗМЕНИТЬ РЕЖИМ ЖИЗНИ
1. перейти по адресу: https://developers.facebook.com
2. выберите ваше приложение в списке " Мои приложения "
3. переведите переключатель с OFF на ON

enter image description here enter image description here

КАК ДОБАВИТЬ В ТЕСТ ИЛИ АДМИН
1. перейти по адресу: https://developers.facebook.com
2. выберите ваше приложение в списке " Мои приложения "
3. Перейдите: Роли> Роли> Нажмите Добавить, например, администратор enter image description here 4. Найдите новую учетную запись администратора/администратора в Facebook.
enter image description here 5. администратор должен ввести пароль facebook для подтверждения. Затем отправить enter image description here
новый администратор должен перейти на страницу developer.facebook и принять запрос
6. перейти по адресу: https://developers.facebook.com

7. Профиль> Запросы> Подтвердить
enter image description here List item 8. Поздравляем, вы назначены новым администратором

КАК ПОЛУЧИТЬ И УСТАНОВИТЬ HASHKEY ДЛЯ РАЗРАБОТКИ
как см. документацию для входа в Facebook
https://developers.facebook.com/docs/android/getting-started/#create_hash
Самым предпочтительным решением для меня является код (Устранение проблем с примерами приложений)
он распечатает ключ хеша. вы можете обновить его на
https://developers.facebook.com/apps/yourFacebookappID/settings/basic/
на Android> раздел Хеши ключей

пошаговый процесс о том, как получить hashKey.

  1. Сначала добавьте код в любой метод oncreate

    enter image description here

  2. Запустите приложение и найдите KeyHash в Logcat.

    enter image description here

пошаговый процесс о том, как обновить на Facebook разработчика.

  1. Откройте страницу разработчика Facebook. Вам необходим доступ, чтобы обновить страницу разработчика Facebook: https://developers.facebook.com

  2. Следуйте за шагом как следуйте.

    enter image description here

Ответ 13

Я только добавил эту строку, и она работала для меня.

facebookLogin.setReadPermissions("email", "public_profile", "user_friends");