申请权限

时间:2013-03-12 21:37:00

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

我在我的应用程序上设置User & Friend Permissions,以便在网站上收到用户电子邮件。点击Preview Login Dialog

后,我会收到此信息
  

这个APP会收到:

Your basic info
Your email address (xyz@xyz.com)
Your birthday
Your relationship details
Your photos

当我尝试登录我的网站时,应用程序只需要这些信息:

  

这个APP会收到:

Your basic info

为什么呢?为什么主应用程序没有预览相同的权限?

此致

编辑:

我在本教程中使用了Auth:http://www.asp.net/mvc/tutorials/mvc-4/using-oauth-providers-with-mvc - 代码在我的项目中没有改变。
老实说,我不想改变授权方法,因为我也想提供Twitter登录,这种机制对我来说是完美的。我只想添加Facebook" scope = email,publish_stream"。

我发现,当我的网站将我的网站重定向到Facebook应用程序(&scope=email,publish_stream)时,手动输入此查询时,一切都很完美。在反码上有没有解决办法?

3 个答案:

答案 0 :(得分:2)

  

App Center中的应用详细信息页面显示   新用户所需的权限。它可以被认为是一个版本   此功能中的登录对话框,方便新用户使用   直接从App Center安装您的应用程序。你可以配置   您的应用在“设置”中所需的权限集>权限   标签

来源:https://developers.facebook.com/docs/guides/appcenter/#authorization

因此,这些权限设置仅适用于您在App Center中配置应用程序的情况,这种情况对以下情况有用:

  • 显示在用户决定使用该应用之前,用户将被要求的权限,
  • 避免使用任何其他登录对话框。

因为您的应用程序(我猜)在App Center中没有形象,您必须使用通常的方式来询问权限:从代码中。为此,请阅读:How to use user permissions with Facebook C# SDK

修改 暂时忘掉App Center。这是你应该做的最后一步。 App Center仅收集优秀且着名的应用程序,这些应用程序完美运行且Facebook员工需要接受:

  

并非所有应用都会显示在App Center中,我们会保留正确的权利   删除不符合高品质栏的应用。在您创建应用详细信息页面后,我们会对其进行审核,以确保其符合我们的资格,提交和质量指南。

因此,要求您的应用程序出现在App Center上确实是您应该考虑的最后一件事

答案 1 :(得分:1)

问题解决了!

如果您使用的是本教程:http://www.asp.net/mvc/tutorials/mvc-4/using-oauth-providers-with-mvc

插入你的 Package manager console  这个命令update-package DotNetOpenAuth.Core

现在您的应用程序将自动询问用户电子邮件 - 您无需更改任何内容
您可以在此找到结果 - result.UserName

答案 2 :(得分:0)

StéphaneBruckert是对的,您在应用设置页面中添加的权限仅适用于用户通过应用中心访问您网站的情况。

要从您的网站中获取许可,您需要在scope的{​​{1}}参数中添加这些权限。

Login URL

这是使用Facebook C# SDK的好教程。

对于您在评论中提出的问题,您可以在应用程序中心发布您的应用程序,方法是填写“应用程序详细信息”页面上的所有详细信息,最后将其提交以供审核。