Error # 200 Facebook SDK Android
queridos amigos, estoy desarrollando una aplicación con integración de Facebook en Android usando el SDK de Facebook. Mi aplicación sólo debe ser capaz de publicar un enlace. Yo uso este código:
this.req = new Request(session, "me/feed", b, HttpMethod.POST, callback); RequestAsyncTask sendRequest = new RequestAsyncTask(req); sendRequest.execute();
Usando este permiso:
- SDK de LinkedIn para Android genera fichas de acceso no utilizables
- IntelliJ IDEA 12 - Nuevo asistente de módulo de aplicaciones de Android falla con "no se puede encontrar el directorio de recursos para el módulo"
- Algunos tutoriales para OpenGL ES 2 en Android con NDK?
- Creación de proyecto en Android 5.0 Lollipop con Eclipse Juno
- Facebook Login en la aplicación de Android
public static final List<String> PERMISSIONS = Arrays .asList("publish_actions" );
Y en realidad funciona bien publicar enlaces en mi cuenta de desarrollador. Tan pronto como tomo otra cuenta recibo este mensaje de error:
(#200) The user hasn't authorized the application to perform this action
¿Podrías ayudarme? O simplemente dar una pista?
- Nuevo Firebase 9 Android sdk da "respuesta Idp no válida" después de algún tiempo
- Cómo determinar la versión de androide SDK instalado en la computadora?
- Administrador SDK de Android no instala componentes
- utilizando onBackPressed () con compatibilidad con versiones anteriores
- Android SDK y AVD Manager Error: Archivo no encontrado: C: \ Archivos de programa (x86) \ Android \ android-sdk \ temp \
- No se pudo encontrar la clase android.support.v4.app.NotificationCompat $ Builder
- Eclipse: ¿Dónde poner NDK referencia? Falta el desarrollo nativo?
- Cómo ejecutar la aplicación en diferentes versiones de sdk en android
Creo que tu KeyHash que has añadido a tu cuenta de Facebook te permite compartir algún enlace. Para poder publicar algunas cosas en la pared del usuario, tienes que respetar este facebook "mejor práctica": aquí está mi código de producción, que funciona bien:
private void publishStory(String hash, String title, String user) { Session session = Session.getActiveSession(); if (session != null){ // Check for publish permissions List<String> permissions = session.getPermissions(); if (!isSubsetOf(PERMISSIONS, permissions)) { pendingPublishReauthorization = true; Session.NewPermissionsRequest newPermissionsRequest = new Session .NewPermissionsRequest(getActivity(), PERMISSIONS); session.requestNewPublishPermissions(newPermissionsRequest); return; } Bundle postParams = new Bundle(); postParams.putString("name", title); postParams.putString("caption", "By Recommend Android"); postParams.putString("description", user+" "+"STRONGLY recommends"+" "+title); postParams.putString("link", "http://re.co/"+hash); postParams.putString("picture", "http://re.co/assets/img/useful-exp.png"); Request.Callback callback= new Request.Callback() { public void onCompleted(Response response) { JSONObject graphResponse = response .getGraphObject() .getInnerJSONObject(); String postId = null; try { postId = graphResponse.getString("id"); } catch (JSONException e) { Log.i(TAG, "JSON error "+ e.getMessage()); } FacebookRequestError error = response.getError(); if (error != null) { debug.print("erreur"); } else { debug.print("erreur2"); } } }; Request request = new Request(session, "me/feed", postParams, HttpMethod.POST, callback); RequestAsyncTask task = new RequestAsyncTask(request); task.execute(); } } private boolean isSubsetOf(Collection<String> subset, Collection<String> superset) { for (String string : subset) { if (!superset.contains(string)) { return false; } } return true; }
- Convertir la altura de la línea en lineSpacingExtra y lineSpacingMultiplier
- Android: comprobando si la actividad se declara en Manifest en tiempo de ejecución