Autore Topic: Login Facebook  (Letto 951 volte)

Offline Klizard

  • Utente junior
  • **
  • Post: 62
  • Respect: 0
    • Mostra profilo
Login Facebook
« il: 09 Dicembre 2015, 16:32:20 CET »
0
Ciao a tutti,
so che già sul forum sono presenti altre discussioni riguardanti l'argomento ma nessuna è riuscita a rispondere ai miei dubbi (sono tutte "parziali").
In pratica vorrei aggiungere nella mia app la possibilità di autenticazione (login) tramite l'account Facebook.
Ho seguito diversi tutorial e consigli del forum; ho quindi scaricato l'sdk dal sito di Facebook ma ho subito avuto difficoltà nell'integrarlo con Android Studio. Ho incontrato difficoltà anche nella generazione delle key hash (non so come crearne una, a cosa serve e se quando dovrò pubblicare l'app nel playstore dovrò modificarla con una "ufficiale").
Vi chiedo quindi se riuscite ad indicarmi la strada da intraprendere per iniziare ad aggiungere questa implementazione nella mia app.

Grazie in anticipo a chiunque voglia aiutarmi!

Offline tonno16

  • Utente storico
  • *****
  • Post: 1198
  • Respect: +58
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Re:Login Facebook
« Risposta #1 il: 09 Dicembre 2015, 18:49:58 CET »
0
Per intergare facebook, io usa una libreria "simple-facebook".
Essa fa uso comunque della librewria ufficiale di fb. Quella ufficiale è importabile o tramite jar o tramite gradle. Nulla di difficile.

Offline Klizard

  • Utente junior
  • **
  • Post: 62
  • Respect: 0
    • Mostra profilo
Re:Login Facebook
« Risposta #2 il: 10 Dicembre 2015, 12:37:33 CET »
0
Per intergare facebook, io usa una libreria "simple-facebook".
Essa fa uso comunque della librewria ufficiale di fb. Quella ufficiale è importabile o tramite jar o tramite gradle. Nulla di difficile.
Ok risolto, stupidamente mi aveva importato la libreria sbagliata.. Ora provo ad implementare il login
stay tuned! :D

Post unito: 10 Dicembre 2015, 14:29:51 CET
No nada mi da errore..

Questo è il codice dell'activity dove faccio il login:
Codice (Java): [Seleziona]
public class MainActivity extends AppCompatActivity {

    private SimpleFacebook mSimpleFacebook;

    private Button fb_btn_login;
    private Button fb_btn_logout;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        Permission[] permissions = new Permission[] {
                Permission.USER_PHOTOS,
                Permission.EMAIL,
                Permission.PUBLISH_ACTION
        };

        SimpleFacebookConfiguration configuration = new SimpleFacebookConfiguration.Builder()
                .setAppId("740195849447412")
                .setNamespace("testerprova")
                .setPermissions(permissions)
                .build();

        SimpleFacebook.setConfiguration(configuration);


        fb_btn_login = (Button) findViewById(R.id.fb_btn_login);
        fb_btn_logout = (Button) findViewById(R.id.fb_btn_logout);


        fb_btn_login.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                mSimpleFacebook.login(onLoginListener);
            }
        });
    }

    @Override
    public void onResume() {
        super.onResume();
        mSimpleFacebook = SimpleFacebook.getInstance(this);
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        mSimpleFacebook.onActivityResult(requestCode, resultCode, data);
        super.onActivityResult(requestCode, resultCode, data);
    }

   

    OnLoginListener onLoginListener = new OnLoginListener() {
        @Override
        public void onLogin(String accessToken, List<Permission> acceptedPermissions, List<Permission> declinedPermissions) {
            Toast.makeText(getApplicationContext(),"LOGGATO!",Toast.LENGTH_SHORT).show();
        }

        @Override
        public void onCancel() {
            Toast.makeText(getApplicationContext(),"cancel!",Toast.LENGTH_SHORT).show();
        }

        @Override
        public void onException(Throwable throwable) {
            Toast.makeText(getApplicationContext(),"Exception da fb!",Toast.LENGTH_SHORT).show();
        }

        @Override
        public void onFail(String reason) {
            Toast.makeText(getApplicationContext(),"FAIL login!",Toast.LENGTH_SHORT).show();
        }
    };
}



Questo il log:
Codice (Java): [Seleziona]
12-10 14:30:13.054 12955-12955/com.example.user.fb_login002 E/AndroidRuntime: FATAL EXCEPTION: main
12-10 14:30:13.054 12955-12955/com.example.user.fb_login002 E/AndroidRuntime: java.lang.NullPointerException
12-10 14:30:13.054 12955-12955/com.example.user.fb_login002 E/AndroidRuntime:     at com.facebook.login.LoginClient.getLogger(LoginClient.java:363)
12-10 14:30:13.054 12955-12955/com.example.user.fb_login002 E/AndroidRuntime:     at com.facebook.login.LoginClient.logAuthorizationMethodComplete(LoginClient.java:413)
12-10 14:30:13.054 12955-12955/com.example.user.fb_login002 E/AndroidRuntime:     at com.facebook.login.LoginClient.tryNextHandler(LoginClient.java:196)
12-10 14:30:13.054 12955-12955/com.example.user.fb_login002 E/AndroidRuntime:     at com.facebook.login.GetTokenLoginMethodHandler.getTokenCompleted(GetTokenLoginMethodHandler.java:119)
12-10 14:30:13.054 12955-12955/com.example.user.fb_login002 E/AndroidRuntime:     at com.facebook.login.GetTokenLoginMethodHandler$1.completed(GetTokenLoginMethodHandler.java:74)
12-10 14:30:13.054 12955-12955/com.example.user.fb_login002 E/AndroidRuntime:     at com.facebook.internal.PlatformServiceClient.callback(PlatformServiceClient.java:157)
12-10 14:30:13.054 12955-12955/com.example.user.fb_login002 E/AndroidRuntime:     at com.facebook.internal.PlatformServiceClient.handleMessage(PlatformServiceClient.java:141)
12-10 14:30:13.054 12955-12955/com.example.user.fb_login002 E/AndroidRuntime:     at com.facebook.internal.PlatformServiceClient$1.handleMessage(PlatformServiceClient.java:62)
12-10 14:30:13.054 12955-12955/com.example.user.fb_login002 E/AndroidRuntime:     at android.os.Handler.dispatchMessage(Handler.java:99)
12-10 14:30:13.054 12955-12955/com.example.user.fb_login002 E/AndroidRuntime:     at android.os.Looper.loop(Looper.java:176)
12-10 14:30:13.054 12955-12955/com.example.user.fb_login002 E/AndroidRuntime:     at android.app.ActivityThread.main(ActivityThread.java:5419)
12-10 14:30:13.054 12955-12955/com.example.user.fb_login002 E/AndroidRuntime:     at java.lang.reflect.Method.invokeNative(Native Method)
12-10 14:30:13.054 12955-12955/com.example.user.fb_login002 E/AndroidRuntime:     at java.lang.reflect.Method.invoke(Method.java:525)
12-10 14:30:13.054 12955-12955/com.example.user.fb_login002 E/AndroidRuntime:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046)
12-10 14:30:13.054 12955-12955/com.example.user.fb_login002 E/AndroidRuntime:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862)
12-10 14:30:13.054 12955-12955/com.example.user.fb_login002 E/AndroidRuntime:     at dalvik.system.NativeStart.main(Native Method)


Cosa sbaglio?:(

Grazie ancora!
« Ultima modifica: 10 Dicembre 2015, 14:29:51 CET da Klizard, Reason: Merged DoublePost »

Offline Klizard

  • Utente junior
  • **
  • Post: 62
  • Respect: 0
    • Mostra profilo
Re:Login Facebook
« Risposta #3 il: 13 Dicembre 2015, 18:02:44 CET »
0
UP!
Nessuno che sappia aiutarmi?