web-dev-qa-db-fra.com

Jeton AccessToken: ACCESS_TOKEN_REMOVED dans le SDK Android de Facebook

J'utilise le SDK de Facebook mais je veux créer un album photo, mais ACCESS_TOKEN_REMOVED s'affiche dans la session.

Obtenir ceci en session

{Session state:OPENED, token:{AccessToken token:ACCESS_TOKEN_REMOVED permissions:[read_stream, manage_friendlists, read_mailbox, status_update, photo_upload, video_upload, sms, create_event, rsvp_event, email, xmpp_login, create_note, share_item, publish_stream, ads_management, read_insights, read_requests, manage_notifications, read_friendlists, manage_pages, publish_actions, user_birthday, user_religion_politics, user_relationships, user_relationship_details, user_hometown, user_location, user_likes, user_activities, user_interests, user_education_history, user_work_history, user_online_presence, user_website, user_groups, user_events, user_photos, user_videos, user_photo_video_tags, user_notes, user_checkins, user_about_me, user_status, basic_info]}, appId:458921577539675}

Code.

/**
 * Connect to facebook using Facebook SDK.
 */
public void connectToFacebook() {
    Session session = Session.getActiveSession();
    if(session == null || session.isClosed()) {
        Session.openActiveSession((Activity)context, true, new StatusCallback() {
            @Override
            public void call(Session session, SessionState state, Exception exception) {
                if(session.isOpened() && state == SessionState.CREATED_TOKEN_LOADED) {
                    Log.v(GlobalVars.TAG, "Token::" + session.getAccessToken());
                    Request.executeMeRequestAsync(session, new GraphUserCallback() {
                        @Override
                        public void onCompleted(GraphUser user, Response response) {
                            if(response != null) {
                                Log.v(GlobalVars.TAG, "Response::" + response);
                                Log.v(GlobalVars.TAG, "Response::" + user.getFirstName() + ":::" + user.getLastName());
                            }
                        }
                    });
                }
            }
        });
    }
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data);
}
36
user2695306

Si vous ne voyez que ACCESS_TOKEN_REMOVED dans votre journal, assurez-vous que vous imprimez session.getAccessToken().getToken(). Dans l'exemple ci-dessus, remplacez

Log.v(GlobalVars.TAG, "Token::" + session.getAccessToken());

avec

Log.v(GlobalVars.TAG, "Token::" + session.getAccessToken().getToken());
47
emidander

Même problème auquel je faisais face depuis 2 jours et enfin, je finis par le savoir. Le kit de développement logiciel (SDK) Facebook n'enregistrera pas les jetons d'accès dans logcat (pour éviter les fuites de jetons utilisateur via le journal, comme indiqué dans la description).

Ajoutez simplement ces lignes après FacebookSdk.sdkInitialize (), je vous recommande de le faire uniquement en mode débogage:

if (BuildConfig.DEBUG) {
    FacebookSdk.setIsDebugEnabled(true);
    FacebookSdk.addLoggingBehavior(LoggingBehavior.INCLUDE_ACCESS_TOKENS);
}
41
Ravinder Bhandari

J'ai pris le même problème: /

Tu peux vérifier: 

  1. AppId est-il correct?
  2. Keyhash a-t-il été enregistré dans le centre d'applications Facebook?
  3. Le nom de l’espace de nommage/du package de l’application correspond-il à votre fichier manifeste? (sur le centre d'applications facebook)
  4. L'application est-elle en direct?

Si tout va bien, je ne sais vraiment pas comment vous aider ...

0
Fernando Martínez

Vous devez activer la connexion Facebook sur la console Firebase et ajouter l'identifiant d'application Facebook et la clé secrète de l'application.

0
Nivil Boban