Вход в Facebook, выдающий исключение "SERVER_ERROR: [код] 1675030 [сообщение]: ошибка при выполнении запроса. [Дополнительный]: ноль" - PullRequest
0 голосов
/ 02 октября 2018

То, что я сделал до сих пор ..

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

    <activity
        android:name="com.facebook.FacebookActivity"
        android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
        android:label="@string/app_name" />
    <activity
        android:name="com.facebook.CustomTabActivity"
        android:exported="true">
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />

            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />

            <data android:scheme="@string/fb_login_protocol_scheme" />
        </intent-filter>
    </activity>

Code onCreate

loginButton = findViewById(R.id.login_button_fb);
    callbackManager = CallbackManager.Factory.create();
    findViewById(R.id.login_button).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            signInWithFacebook();
        }
    });

    getInstance().registerCallback(callbackManager,
            new FacebookCallback<LoginResult>() {
                @Override
                public void onSuccess(LoginResult loginResult) {
                    Constants.showProcessDialogCustomText(context, "Logging in...");

                    RequestFacebookData();
                }

                @Override
                public void onCancel() {
                }

                @Override
                public void onError(FacebookException exception) {
                    ClipboardManager clipboard = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
                    ClipData clip = ClipData.newPlainText("error", exception.toString());
                    clipboard.setPrimaryClip(clip);
                    Toast.makeText(context, "Error while logging with Facebook", Toast.LENGTH_SHORT).show();
                }
            });

private void signInWithFacebook() {
    loginButton.setReadPermissions("email", "public_profile");
    loginButton.performClick();

}

вот часть кода.

Я установил свое приложение как общедоступноеfrom "https://developers.facebook.com/apps/appId/settings/basic/"

Даны хеш-ключи путем генерации с помощью cmd также из кода

keytool -exportcert -alias androiddebugkey -keystore "C:\Users\USERNAME\.android\debug.keystore" | "C:\Users\SHAKI\Downloads\openssl-0.9.8k_WIN32\bin\openssl" sha1 -binary | "C:\Users\SHAKI\Downloads\openssl-0.9.8k_WIN32\bin\openssl" base64

Code

try {
        PackageInfo info = getPackageManager().getPackageInfo(
                "com.happihub.bd",
                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 (PackageManager.NameNotFoundException e) {

    } catch (NoSuchAlgorithmException e) {

    }

Сгенерированный хеш-ключ с cmd для подписанного apk

keytool -exportcert -alias happihub -keystore E:\File\Android\FOZ_Files\relese.jks | "C:\Users\SHAKI\Downloads\openssl-0.9.8k_WIN32\bin\openssl" sha1 -binary | "C:\Users\SHAKI\Downloads\openssl-0.9.8k_WIN32\bin\openssl" base64

Обратите внимание, что я могу войти только с моей учетной записью Facebook (связанной с приложением). Другие люди получают сообщение об ошибке. Самое интересное, что я пытался использовать другую учетную запись на моем телефоне в режиме отладки, эта учетная запись можеттакже войдите в систему .. но когда я использую релиз apk, моя и другая учетная запись не получает "SERVER_ERROR: [код] 1675030 [сообщение]: ошибка при выполнении запроса.[extra]: null ", Он напрямую показывает действие с несоответствующим хеш-ключом. См. скриншот Release apk with other account


Решено

Все, что мне нужно было сделать, этопопробуйте получить хеш-ключ от машины linux.:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...