Android: Facebook 3.0 Publicar en la pared de los amigos usando la respuesta de solicitud de FQL (A partir de Apr23,2013)
Mi aplicación genera listas de amigos personalizadas por su cumpleaños. Así que he utilizado SELECT name, uid, pic_square, birthday_date FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) order by birthday_date
.
Ahora, cuando el usuario haga clic en un amigo (desde la lista), se le pedirá al usuario si desea publicar en esa pared de amigos. Sé cómo hacerlo de la vieja manera, pero estoy consiguiendo confundir a causa de cómo enviar una publicación a la pared del amigo de Facebook androide SDK 3.0 .
- Autenticación de Facebook sin botón de inicio de sesión
- LoginButton con Fragmento nativo
- Autorización para Android Facebook SDK 3.0
- Facebook SDK para Android 2.3?
- Session: se ha intentado solicitar nuevos permisos para una sesión que tiene una petición pendiente
En esa pregunta:
El SDK de Facebook para Android proporciona un método que le permite publicar historias de su aplicación a la línea de tiempo de un usuario. También puede utilizar este método para publicar una actualización de estado en nombre de su usuario. Este método utiliza la Graph API, y es una alternativa al uso del cuadro de diálogo Feed
Http://developers.facebook.com/docs/howtos/androidsdk/3.0/publish-to-feed/
además:
Nunca use Graph-API para publicar en la pared de un amigo. Porque está desactivado después del 6 de febrero de 2013. FB recomienda u para utilizar Feed Dialog para publicar en el amigo o su propia pared. Este es el enlace para usar Feed Dialog: http://developers.facebook.com/docs/howtos/androidsdk/3.0/feed-dialog
He visto ambos enlaces, pero ambos solo muestran cómo publicar en tu propia pared. ¿Puede alguien darme un buen último ejemplo o por lo menos, me señala a la dirección correcta sobre cómo publicar a su pared amigos utilizando la respuesta a la solicitud de FQL a través de Facebook Android SDK 3.x (Desde el momento en que la versión es 3.0.2b) ?
- Cómo eliminar la foto cargada de la pared de facebook de la aplicación
- Cómo obtener fotos de amigos usando facebook-android-SDK
- Iniciar sesión en facebook un botón para abrir una nueva actividad
- La devolución de llamada de Facebook SDK 3.0 se dispara dos veces
- Android FacebookSDK inicio de sesión con la aplicación nativa de Facebook instalado pide permisos incluso después de que el usuario ya les ha dado
- Android: Cómo obtener la imagen de usuario de facebook mediante access_token
- Obtener permisos de lectura y publicación en una solicitud
- Recursos $ NotFoundException se lanza integrando Facebook-android-sdk-3.0
He encontrado la solución. Sólo es necesario agregar los parámetros "to" y "from". A continuación se muestra mi ejemplo:
Para publicar en la pared a un solo amigo:
private void publishFeedDialog(String friend_uid) { Session session = Session.getActiveSession(); if (!hasPublishPermission()) { // We don't have the permission to post yet. session.requestNewPublishPermissions(new Session.NewPermissionsRequest(this, WRITE_PERMISSION)); } if (user != null && friend_uid != null && hasPublishPermission()) { final Activity activity = this; Bundle params = new Bundle(); //This is what you need to post to a friend's wall params.putString("from", "" + user.getId()); params.putString("to", friend_uid); //up to this params.putString("name", "Facebook SDK for Android"); params.putString("caption", "Build great social apps and get more installs."); params.putString("description", "The Facebook SDK for Android makes it easier and faster to develop Facebook integrated Android apps."); params.putString("link", "https://developers.facebook.com/android"); params.putString("picture", "https://raw.github.com/fbsamples/ios-3.x-howtos/master/Images/iossdk_logo.png"); WebDialog feedDialog = (new WebDialog.FeedDialogBuilder(this, Session.getActiveSession(), params)) .setOnCompleteListener(new OnCompleteListener() { @Override public void onComplete(Bundle values, FacebookException error) { if (error == null) { // When the story is posted, echo the success // and the post Id. final String postId = values.getString("post_id"); if (postId != null) { Toast.makeText(activity, "Posted story, id: "+postId, Toast.LENGTH_SHORT).show(); } else { // User clicked the Cancel button Toast.makeText(activity, "Publish cancelled", Toast.LENGTH_SHORT).show(); } } else if (error instanceof FacebookOperationCanceledException) { // User clicked the "x" button Toast.makeText(activity, "Publish cancelled", Toast.LENGTH_SHORT).show(); } else { // Generic, ex: network error Toast.makeText(activity, "Error posting story", Toast.LENGTH_SHORT).show(); } } }).build(); feedDialog.show(); } }
Para publicar en la pared a muchos amigos:
RequestsDialogBuilder en lugar de FeedDialogBuilder porque el segundo sólo permite múltiples identificadores en el parámetro "to", mientras que el primero puede recibir muchos (no estoy seguro sobre el límite sin embargo, pero creo que es de unos 50)
Créditos a: gian1200
Posible duplicado … Creo que debe comprobar la Demo FB proporcionado Facebook – Publicar a la pared de la aplicación de Android
ACTUALIZADO:
Bueno, hay esto. http://developers.facebook.com/docs/howtos/androidsdk/3.0/publish-to-feed/
Facebook realmente recomienda usar el Feed. Echale un vistazo
- Weinre herramienta de depuración no funciona en Córdoba cromo app (cca) para android
- Android y JUnit: ¿Cómo agregar pruebas individuales al conjunto de pruebas?