Токен авторизации на Facebook? - PullRequest
4 голосов
/ 06 мая 2011

Я использую учебный код ...

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import com.facebook.android.*;
import com.facebook.android.Facebook.*;

public class FacebookSSO extends Activity {

Facebook facebook = new Facebook("ID");

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.splash);

    facebook.authorize(this,new String[] { "offline_access", "publish_stream", "email" },

        new DialogListener() {
        @Override
        public void onComplete(Bundle values) {}

        @Override
        public void onFacebookError(FacebookError error) {}

        @Override
        public void onError(DialogError e) {}

        @Override
        public void onCancel() {}
    });
}

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

    facebook.authorizeCallback(requestCode, resultCode, data);
}

}

Мне интересно ... как только пользователь аутентифицируется, как мне сохранить токен доступа?я не смог упомянуть об этом в учебнике.

Ответы [ 3 ]

5 голосов
/ 21 июля 2011
facebook.authorize(this,new String[] { "offline_access", "publish_stream", "email" },

    new DialogListener() {
    @Override
    public void onComplete(Bundle values) {}
    String token=facebook.getAccessToken();  //get access token
    save(token);
    @Override
    public void onFacebookError(FacebookError error) {}

    @Override
    public void onError(DialogError e) {}

    @Override
    public void onCancel() {}
});
}

private void save(String token){
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
prefs.edit().putString("Token", token).commit();
}

т.е. сохранить его в общих настройках

0 голосов
/ 10 апреля 2014

Попробуй таким образом

@Override
                        public void onComplete(Bundle values) {
                            // Function to handle complete event
                            // Edit Preferences and update facebook acess_token
                            SharedPreferences.Editor editor = mPrefs.edit();
                            editor.putString("access_token",
                                    facebook.getAccessToken());
                            editor.putLong("access_expires",
                                    facebook.getAccessExpires());
                            editor.commit();
                        }

                        @Override
                        public void onError(DialogError error) {
                            // Function to handle error

                        }

                        @Override
                        public void onFacebookError(FacebookError fberror) {
                            // Function to handle Facebook errors

                        }
0 голосов
/ 21 апреля 2013

FYI.facebook.authorize устарела с момента появления Facebook SDK 3

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