Facebook SDK: ApiException: La aplicación proxy no puede solicitar permisos de publicación sin haber sido instalados previamente

Estoy luchando con el Android facebook SDK 3.5 og de riigth. Todo funciona perfectamente con mis cuentas. Ahora le di la aplicación a un amigo mío y cuando él entra en él no se atoró en debido a este fracaso:

ApiException:The proxied app cannot request publish permissions without having being installed previously

 11-19 12:18:43.530: W/System.err(13495): com.facebook.FacebookAuthorizationException: UnknownError: ApiException:The proxied app cannot request publish permissions without having being installed previously. 11-19 12:18:43.530: W/System.err(13495): at com.facebook.Session.handleAuthorizationResult(Session.java:1078) 11-19 12:18:43.530: W/System.err(13495): at com.facebook.Session.onActivityResult(Session.java:554) 11-19 12:18:43.530: W/System.err(13495): at com.lochmann.viergewinntmultiplayerfb.MainActivity.onActivityResult(MainActivity.java:289) 11-19 12:18:43.530: W/System.err(13495): at android.app.Activity.dispatchActivityResult(Activity.java:5390) 11-19 12:18:43.530: W/System.err(13495): at android.app.ActivityThread.deliverResults(ActivityThread.java:3178) 11-19 12:18:43.530: W/System.err(13495): at android.app.ActivityThread.handleSendResult(ActivityThread.java:3225) 11-19 12:18:43.535: W/System.err(13495): at android.app.ActivityThread.access$1100(ActivityThread.java:140) 11-19 12:18:43.535: W/System.err(13495): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1275) 11-19 12:18:43.535: W/System.err(13495): at android.os.Handler.dispatchMessage(Handler.java:99) 11-19 12:18:43.535: W/System.err(13495): at android.os.Looper.loop(Looper.java:137) 11-19 12:18:43.535: W/System.err(13495): at android.app.ActivityThread.main(ActivityThread.java:4898) 11-19 12:18:43.535: W/System.err(13495): at java.lang.reflect.Method.invokeNative(Native Method) 11-19 12:18:43.535: W/System.err(13495): at java.lang.reflect.Method.invoke(Method.java:511) 11-19 12:18:43.535: W/System.err(13495): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1006) 11-19 12:18:43.535: W/System.err(13495): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773) 11-19 12:18:43.540: W/System.err(13495): at dalvik.system.NativeStart.main(Native Method) 

Aquí está mi código de inicio de sesión

 public void login(final Activity activity, final IFBCallbacks callback) { if (isLoggedin()) { if (callback != null) callback.onLoggedIn(); actionsAfterLoggedIn(activity, callback); Log.i(TAG, "Already Logged in"); return; } if (!isLoggedin()) { Log.i(TAG, "login() NOT LOGGED IN"); logout(activity, null); } Log.i(TAG, "NOT LOGGED IN"); _session = new Session.Builder(activity).build(); Session.setActiveSession(_session); Session.OpenRequest request = new Session.OpenRequest(activity); // Note that you cannot set email AND publish_actions in the same // request request.setPermissions(getNeededPermisiions()); // request.setLoginBehavior(SessionLoginBehavior.SUPPRESS_SSO); StatusCallback scallback = new StatusCallback() { @Override public void call(Session session, SessionState state, Exception exception) { if (state.isOpened() && hasPermissions(getNeededPermisiions())) { Log.i(TAG, "Succesfully logged in to facebook"); if (callback != null) callback.onLoggedIn(); actionsAfterLoggedIn(activity, callback); session.getAccessToken(); FBUtils.saveAccesToken(activity, session.getAccessToken(), session.getExpirationDate()); return; } // Grant permissions if (!session.getPermissions().containsAll( getNeededPermisiions()) && session.isOpened()) { Log.i(TAG, "Not all needed Permissions granted"); // session.requestNewPublishPermissions(new // Session.NewPermissionsRequest( // activity, getNeededPermisiions())); return; } // EVERYTHING ELSE if (!state.isOpened() && exception != null) { Log.e(TAG, "Unable to login in"); exception.printStackTrace(); if (callback != null) callback.onError(exception); } } }; _session.addCallback(scallback); _session.openForPublish(request); } 

Creo que necesito la solicitud de instalación, pero no puedo encontrar ninguna solución de cómo solucionarlo. ¿Podría alguien darme una pista?

One Solution collect form web for “Facebook SDK: ApiException: La aplicación proxy no puede solicitar permisos de publicación sin haber sido instalados previamente”

Debe separar los permisos "leer" y "publicar", y antes de solicitar un permiso de publicación, primero debe obtener "basic_info", que es un permiso de lectura.

Si solo haces openForPublish sin tener permisos de lectura, obtendrás este error.

  • Apache Cordova Facebook Plugin falla en Init - Android
  • Facebook SDK 3.5 Iniciar sesión a través de la aplicación no funciona
  • Importe facebook SDK al proyecto cordova / phonegap
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.