Facebook integración en Android fbconnect enlace roto
Estoy tratando de implementar la integración de Facebook en mi aplicación de Android y se apaga y se conecta a Facebook bien, pero cuando intenta pasar el token de acceso a la aplicación acaba de regresar:
La página web de fbconnect: // success # access_token = [ACCESS TOKEN] puede estar temporalmente inactiva o puede haberse movido permanentemente a una nueva dirección web.
- ¿Es posible que una actividad obtenga basura recopilada y no un fragmento de niño?
- Conversión de httpclient 3 a httpclient 4 (política de cookies)
- Dentro de OnClickListener No puedo tener acceso a muchas cosas - cómo acercarme?
- ¿Puedo almacenar archivos de imagen en firebase usando Java API?
- Android: detectar el brillo (cantidad de luz) en el entorno del teléfono con la cámara?
Obviamente, donde [ACCESS TOKEN]
es una larga secuencia de caracteres.
Tengo el ID de la aplicación correcta y agregó el hash clave a facebook. Pero, ¿qué proceso podría haber perdido?
Código:
public class FacebookActivity extends Activity { private static final String APP_ID = "[MY APP ID]"; private static final String[] PERMISSIONS = new String[] {"publish_stream"}; private static final String TOKEN = "access_token"; private static final String EXPIRES = "expires_in"; private static final String KEY = "facebook-credentials"; private Facebook facebook; private String messageToPost; 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(); restoreCredentials(facebook); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_facebook); String facebookMessage = getIntent().getStringExtra("facebookMessage"); if (facebookMessage == null){ facebookMessage = "Test wall post"; } messageToPost = facebookMessage; if (! facebook.isSessionValid()) { loginAndPostToWall(); } else { postToWall(messageToPost); } } public void loginAndPostToWall(){ facebook.authorize(this, APP_ID, PERMISSIONS, new LoginDialogListener()); } 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!"); } finish(); } catch (Exception e) { showToast("Failed to post to wall!"); e.printStackTrace(); finish(); } } class LoginDialogListener implements DialogListener { @Override 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(); } } private void showToast(String message){ Toast.makeText(getApplicationContext(), message, Toast.LENGTH_SHORT).show(); } }
Nuevo en el desarrollo de Android, así que estoy seguro de que es algo simple.
- JSON elemento de verificación Java es un JSONArray o JSONObject
- Los caracteres de cuenta con TextWatcher fallan en HTC longpress
- Descargar html source android?
- Android 2.2: cómo hacer que una aplicación se ejecute automáticamente en el inicio y cómo hacer que una aplicación inicie otra aplicación
- Java.lang.IllegalStateException: ScrollView puede alojar sólo un hijo directo
- Cómo mostrar / ocultar el teclado virtual sin animación (por ejemplo, fade) en Java?
- ¿Cómo usar sockets UDP en android?
- Rendimiento de la clase de la clase estática vs no estática de la clase estática de Android
He actualizado la aplicación nativa de facebook en el dispositivo y todo funciona.
Parece que la aplicación nativa de Facebook debe ser la versión 2 o superior. Estoy viendo el mismo problema para la versión 1.9.6, y actualizar la aplicación de Facebook resuelve el problema.
- ¿Cómo soluciono el error MMUMapper?
- Android: Acceder al objeto de actividad del contenedor desde el fragmento usando putExtra?