如何处理Facebook应用程序请求?

时间:2011-09-12 07:53:59

标签: facebook-graph-api facebook facebook-c#-sdk

我正在开发Facebook应用程序我正在提供用户使用C#SDK邀请他的朋友加入应用程序。如Facebook documentation

所示

我的问题是当用户的朋友收到申请请求并点击接受时,它没有显示application permission request page

我是否需要执行任何额外步骤以将用户重定向到application permission request page

6 个答案:

答案 0 :(得分:2)

我找到了解决方案

我开始在我的应用程序画布页面上请求权限,如果用户接受,则使用查询字符串重定向到同一页面。不完美的解决方案,但它工作正常

答案 1 :(得分:1)

如果您在应用程序主页面控制器上使用http://facebooksdk.codeplex.com/和MVC3,则应为非授权用户提供重定向:

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");
    }
}

答案 2 :(得分:0)

您需要向用户询问http://developers.facebook.com/docs/reference/dialogs/oauth/上显示的权限。你是如何获得邀请朋友的第一个用户的权限的?您可以将他重定向到该页面,或者处理应用程序请求点击的页面可以检查应用程序权限。如果用户未授予权限,您将很容易向他询问。

您应该始终检查权限,因为即使已经在使用您的应用程序的用户也可以撤消它们。

答案 3 :(得分:0)

默认情况下,接受Facebook application request会将用户重定向到应用程序的主页面。如果您的应用程序需要Facebook权限才能查看主页面,您可能需要检查所有访问者是否已接受您的权限,并将其重定向到OAuth permissions dialog(如果他们没有)。请注意,Facebook文档建议在用户访问您的应用程序后,通过查询字符串中发送的request_ids参数删除已接受的请求。

答案 4 :(得分:0)

应用程序权限请求页面是什么意思?这是用户授权第三方应用程序访问其Facebook数据的那个吗?

我同意另一个答案。用户点击他的Facebook帐户中的应用程序请求通知图标后,他会被重定向到应用程序的画布页面,该请求包含应用程序生成的request_id列表

在您的应用程序中,在阅读facebook request_ids后,您可以向facebook请求收到的request_ids,然后决定如何处理该信息,您可以传递额外的数据参数以提供额外的有关应用程序请求如何生成的信息。

最后,您可以根据您获得的信息将用户重定向到您想要的任何页面。

希望这有帮助

答案 5 :(得分:0)

您应该检查用户是否从请求中访问您的应用...如果request_ids参数存在。如果是这样,您应该将用户重定向到一个页面,其中会询问许可,并显示未完成的请求列表!