2011-09-12 27 views
7

Estoy trabajando en una aplicación de Facebook y estoy ofreciendo al usuario invitar a su amigo a la aplicación con el SDK de C#. como se muestra en Facebook documentation¿Cómo se manejan las solicitudes de aplicaciones de Facebook?

Mi problema es cuando el amigo del usuario recibe la solicitud de aplicación y haga clic en Aceptar que no muestra la application permission request page.

¿Necesito realizar algún paso adicional para redirigir al usuario al application permission request page?

Respuesta

2

he encontrado la solución

empiezo pedir permiso en mi página de lienzo aplicación y si el usuario acepta, redirigir a la misma página con cadena de consulta. No solución perfecta pero funciona bien

0

Debe pedir permiso al usuario como se ve en http://developers.facebook.com/docs/reference/dialogs/oauth/. ¿Cómo obtuviste los permisos del primer usuario que invita al amigo? Puede redirigirlo a esa página o la página que maneja los clics de solicitud de la aplicación puede verificar los permisos de la aplicación. Si el usuario no concede un permiso, lo solicitará fácilmente.

Siempre debe verificar los permisos, porque incluso el usuario que ya utiliza su aplicación puede revocarlos.

0

De forma predeterminada, aceptar un Facebook application request redirige a un usuario a la página principal de la aplicación. Si su aplicación requiere permisos de Facebook para ver la página principal, debería verificar que todos los visitantes hayan aceptado sus permisos y redirigirlos al OAuth permissions dialog si no lo han hecho. Tenga en cuenta que la documentación de Facebook sugiere eliminar la solicitud aceptada después de que el usuario visite su aplicación, a través del parámetro request_ids que se envía en la cadena de consulta.

0

¿Qué quiere decir con Solicitud de permiso Solicitud de página? ¿Es aquel en el que el usuario autoriza la aplicación de terceros para acceder a sus datos de Facebook?

Estoy de acuerdo con la otra respuesta. Después de que un usuario hace clic en el ícono de notificación de solicitud de aplicación desde su cuenta de Facebook, se le redirige a la página de lienzo de la aplicación, la solicitud incluye una lista de los request_ids generados por su aplicación

Dentro de su aplicación, después de leer los facebook request_ids, puede solicitar facebook sobre los request_ids recibidas y luego decidir qué hacer con esa información, se puede pasar un datos parámetro adicional con el fin de proporcionar información adicional sobre cómo se generó la solicitud de aplicación.

Finalmente puede redirigir al usuario a la página que desee según la información que obtuvo.

Esperanza esto ayuda

1

En caso si usted está utilizando http://facebooksdk.codeplex.com/ con MVC3 en el controlador de la página principal de la aplicación debe proporcionar redirección para los usuarios no autorizados:

var fbWebContext = FacebookWebContext.Current; 
if (fbWebContext.IsAuthorized() && fbWebContext.UserId > 0) 
{ 
    try 
    { 
     var fb = new FacebookWebClient(fbWebContext); 
     dynamic result = fb.Get("/me"); 
    } 
    catch (FacebookOAuthException) 
    { 
     var redirectString = string.Format("https://graph.facebook.com/oauth/authorize?client_id={0}&redirect_uri={1}&type=user_agent&display=page&scope={2}", 
           Facebook.FacebookApplication.Current.AppId, 
           FacebookWebContext.Current.Settings.CanvasPage, 
           "email, publish_actions" 
          ); 
     Response.Redirect("redirectString"); 
    } 
} 
+0

1, pero no estoy usando MVC – Hiyasat

0

usted debe comprobar si el usuario es accediendo a su aplicación desde una solicitud ... si el parámetro request_ids está presente. Si es así, debe redirigir al usuario a una página donde se le pedirán permisos y se mostrará una lista de solicitudes pendientes.

Cuestiones relacionadas