that error means that your Facebook object does not have a valid access token. try something like this to see what your access token and its associated expiration time is.
Log.d("myapp", "access token = " + facebook.getAccessToken());
Log.d("myapp", "expiration = " + facebook.getAccessExpires());
Log.d("myapp", "expiration datetime = " + (new Date(facebook.getAccessExpires())).toString());
Log.d("myapp", "is session valid? " + facebook.isSessionValid());
it is your job to check whether you (the user) has an access token and if it is still valid. if not then you must open up the dialog to proceed with authentication.
facebook.authorize(Activity activity, String[] permissions, DialogListener);
the newer android facebook API is supposed to work with single sign on (SSO). meaning, if a user already has "THE" official facebook app installed and is logged into that official app on the device, then the user does not have to re-authenticate.
otherwise, an (ugly) dialog shows up where the user has to enter in their credentials (which is just a web browser embedded in the dialog).