2016-11-10 1 views
1

Ich versuche, den Benutzer PhoneNumber/E-Mail mit Facebook Account Kit abrufen.Facebook Account Kit erfordern ein appsecret_proof Argument Fehler

ich immer einen Fehler als Antwort bekommen:

200: Server generated an error: 145: API calls from the server require an appsecret_proof argument

ich bereits die Möglichkeit, auf Facebook Entwickler Armaturenbrett deaktiviert.

Require app secret for server API calls

Hier ist mein Code:

public void onLoginPhone(final View view) { 
    final Intent intent = new Intent(getActivity(), AccountKitActivity.class); 
    AccountKitConfiguration.AccountKitConfigurationBuilder configurationBuilder = 
    new AccountKitConfiguration.AccountKitConfigurationBuilder(
     LoginType.PHONE, 
     AccountKitActivity.ResponseType.CODE); // or .ResponseType.TOKEN 
    // ... perform additional configuration ... 
    intent.putExtra(
    AccountKitActivity.ACCOUNT_KIT_ACTIVITY_CONFIGURATION, 
    configurationBuilder.build()); 
    startActivityForResult(intent, APP_REQUEST_CODE); 
} 

und das ist onActivityResult:

AccountKit.getCurrentAccount(new AccountKitCallback<Account>() { 
    @Override 
    public void onSuccess(final Account account) { 
    // Get Account Kit ID 
    String accountKitId = account.getId(); 

    // Get phone number 
    PhoneNumber phoneNumber = account.getPhoneNumber(); 
    String phoneNumberString = phoneNumber.toString(); 

    // Get email 
    String email = account.getEmail(); 
    } 

    @Override 
    public void onError(final AccountKitError error) { 
    // Handle Error 
    } 
}); 
+0

Dieser spezifische API-Aufruf erfordert appsecret_proof und muss vom Server aus erfolgen. Was deaktiviert ist, besteht darin, es nicht für alle API-Aufrufe zu benötigen. – WizKid

Antwort

6

Einfache Lösung obige Problem zu lösen, folgen Sie einfach Schritt folgen.

Schritt 1: Gehen Sie zu Facebook Entwickler-Konsole

 https://developers.facebook.com/ 

Schritt 2: Ihre Anwendung Wählen Sie aus dem

 https://developers.facebook.com/apps/ 

Schritt 3: Nach der Anwendung Klicken Sie auf Auswahl Konto-Kit befindet sich auf der linken Seitenwand der Konsole unter der Produkt Titel.

Schritt 4: Nach Klick auf Konto-Kit sehen Sie die Reuired App Geheimnis Schaltknopf mit Ja/Nein-Option rechten Seite davon.

Schritt 5:Turn Off (No) die Reuired App Geheimnis vom dort (unter der SMS-Login erlauben)

Schritt 6: Klicken Sie aufÄnderungen speichern Registerkarte.

Schritt 7: Führen Sie Ihre Anwendung, Sie erhalten, was Sie wollen.

Wenn Sie noch Fragen haben, fragen Sie mich jederzeit. können diese Hilfe für Sie oder eine andere Person sein.

+0

Dies funktionierte nicht für mich, da ich mit dem gleichen Problem konfrontiert bin und das App-Geheimnis in meiner App deaktiviert ist, schlagen Sie eine andere Lösung vor? danke – EyadMhanna

+0

das hat für mich funktioniert. Danke –

+0

Ich habe die Einstellungen genau wie empfohlen eingeschaltet und STILL bekomme diesen Fehler aber nur bei LTE, nicht bei Wifi. https://imgur.com/a/DQZLa –

1

Ich hatte das gleiche Problem.Die drei Schritte, die mein Problem gelöst:

  1. Schalten Sie die Option "App Geheimnis erforderlich"

  2. Sicherstellen, dass die Option "Enable Client Access Token Flow" auf hat sich gezeigt, auf "YES"

  3. Benutzer diese AccountKitActivity.ResponseType.TOKEN instead of AccountKitActivity.ResponseType.CODE

ResponseType.CODE werden Sie nie die Handy-Nummer zurück.

Ich hoffe, es hilft.

Verwandte Themen