Obtención de un token de acceso malformado "t ype": "OAuthException", "code": 190

Estoy escribiendo una aplicación de Android para obtener los álbumes de usuario de Facebook y fotos y mostrar en mi aplicación de Android. He creado una aplicación de Facebook con APP_ID 281846961912565 .

Al crear la instancia de Facebook, estoy pasando este id como sigue

facebook = new Facebook(APP_ID); 

Utilizando esta instancia, puedo acceder a mi cuenta de la cuenta FB en mensajes en la pared de facebook mediante programación. Después de iniciar sesión, obtengo un access_token.

Estoy usando el token de acceso para obtener los ids del álbum usando facebook.request("https://graph.facebook.com/me/albums?access_token="+facebook.getAccessToken());

Ahora tengo {"error":{"message":"Malformed access token ACCESSTOKENACCESSTOKEN?access_token=ACCESSTOKENACCESSTOKEN","t‌​ype":"OAuthException","code":190}}

¿Puede alguno de ustedes por favor ayudarme a resolver este problema y señalar lo que estoy haciendo mal.

Mi código es el siguiente:

  private static final String[] PERMISSIONS = new String[] { "publish_stream","user_photos" }; public boolean saveCredentials(Facebook facebook) { Editor editor = getApplicationContext().getSharedPreferences(KEY, Context.MODE_PRIVATE).edit(); editor.putString(TOKEN, facebook.getAccessToken()); editor.putLong(EXPIRES, facebook.getAccessExpires()); return editor.commit(); } public boolean restoreCredentials(Facebook facebook) { SharedPreferences sharedPreferences = getApplicationContext() .getSharedPreferences(KEY, Context.MODE_PRIVATE); facebook.setAccessToken(sharedPreferences.getString(TOKEN, null)); facebook.setAccessExpires(sharedPreferences.getLong(EXPIRES, 0)); return facebook.isSessionValid(); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); facebook = new Facebook(APP_ID); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.facebook_dialog); String facebookMessage = getIntent().getStringExtra("facebookMessage"); if (facebookMessage == null) { facebookMessage = "Test wall post"; } messageToPost = facebookMessage; } 

R.layout.facebook_dialog es el diálogo que aparece preguntando si un mensaje debe ser compartido en Facebook o no. En caso afirmativo, se llama al siguiente método.

  public void share(View button) { if (!facebook.isSessionValid()) { loginAndPostToWall(); } else { postToWall(messageToPost); } } public void loginAndPostToWall() { facebook.authorize(this, PERMISSIONS, Facebook.FORCE_DIALOG_AUTH, new LoginDialogListener()); } class LoginDialogListener implements DialogListener { public void onComplete(Bundle values) { saveCredentials(facebook); if (messageToPost != null) { postToWall(messageToPost); } } public void onFacebookError(FacebookError error) { showToast("Authentication with Facebook failed!"); finish(); } public void onError(DialogError error) { showToast("Authentication with Facebook failed!"); finish(); } public void onCancel() { showToast("Authentication with Facebook cancelled!"); finish(); } } public void postToWall(String message) { Bundle parameters = new Bundle(); parameters.putString("message", message); parameters.putString("description", "topic share"); try { facebook.request("me"); String response = facebook.request("me/feed", parameters, "POST"); Log.d("Tests", "got response: " + response); if (response == null || response.equals("") || response.equals("false")) { showToast("Blank response."); } else { showToast("Message posted to your facebook wall!"); } getImagesFromUserAlbum(); finish(); } catch (Exception e) { showToast("Failed to post to wall!"); e.printStackTrace(); finish(); } } 

Más tarde, cuando hago un `private void getImagesFromUserAlbum () {facebook.getAccessToken ();

  JSONArray albumss = null; String response = null; try { response = facebook.request("me/albums"); 

// `

Tengo el error {"error": {"message": "Mal acceso de acceso malo ACCESSTOKEN? Access_token = ACCESSTOKEN", "type": "OAuthException", "code": 190}}

Gracias por tu ayuda.

El código anterior es ahora la copia de trabajo. Gracias a Bartek.

Si observa la página Errores en la documentación verá que cuando obtiene el error 190 debe autorizar / reautorizar al usuario.

Sospecho que esto le sucedió a usted porque inició sesión por primera vez, a continuación, agregó los permisos para acceder a los álbumes a su aplicación, pero no salir y volver a iniciar. Por lo tanto, es necesario obtener un nuevo token de acceso que concederá los nuevos permisos A su aplicación.

Por favor, compruebe está allí y expira en su token de acceso si sí, a continuación, quítelo porque no es parte de access_token y tratar después de eso.

  • ¿Cómo puedo crear una miniatura de una url de vídeo en android?
  • ¿Cómo forzar la desinstalación de la aplicación para actualizarla?
  • Android: ¿Cómo obtener el botón de flecha?
  • ¿Cómo aplicar span de fila en tablelayout?
  • Excepción de memoria, cuando se trata de mapas de bits
  • Error de vista web de Android "Señal fatal 5 (SIGTRAP)"
  • Desactivar la pantalla de rotación automática - Android
  • Android - Mientras maneja una imagen es mejor almacenarla o usarla en memoria temporal?
  • Vista de árbol de Android
  • Convertir Json Array a una matriz Java normal
  • Función User.getUserId () en el punto final de nube api devuelve null para un objeto de usuario que no es nulo
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.