MVC4 oauth facebook访问用户&;好友权限:

MVC4 oauth facebook访问用户&;好友权限:,facebook,asp.net-mvc-4,Facebook,Asp.net Mvc 4,使用新的mvc4现在让我们可以使用facebook oauth otb 我在facebook上创建了一个新的应用程序,并对用户的电子邮件地址/位置和生日提出了一些额外的要求 我已将更改保存在fb中,当单击“预览身份验证”对话框时,我可以看到我希望在预览窗口中显示的额外权限 当我尝试对facebook进行身份验证时,没有人问我是否允许在facebook中设置额外字段 在我的mvc应用程序中是否还有其他东西需要更改以将这些额外要求传递给facebook 谢谢你的帮助 我在facebook上创建了一个

使用新的mvc4现在让我们可以使用facebook oauth otb

我在facebook上创建了一个新的应用程序,并对用户的电子邮件地址/位置和生日提出了一些额外的要求

我已将更改保存在fb中,当单击“预览身份验证”对话框时,我可以看到我希望在预览窗口中显示的额外权限

当我尝试对facebook进行身份验证时,没有人问我是否允许在facebook中设置额外字段

在我的mvc应用程序中是否还有其他东西需要更改以将这些额外要求传递给facebook

谢谢你的帮助

我在facebook上创建了一个新的应用程序,并对用户的电子邮件地址/位置和生日提出了一些额外的要求

我已将更改保存在fb中,当单击“预览身份验证”对话框时,我可以看到我希望在预览窗口中显示的额外权限

当我尝试对facebook进行身份验证时,没有人问我是否允许在facebook中设置额外字段

这听起来像是你是另一个对实际做什么感到困惑的人。(应用程序设置中的权限字段仅适用于这些设置!)

当用户在Facebook上点击任何重定向到你的应用程序的链接时,经过身份验证的推荐就会起作用


但是,如果您自己登录,则必须使用
scope
参数请求所需的权限。

您似乎必须编写自己的自定义提供程序。如果是这样,你应该看看 及

我所做的是: 在
会计控制器中
: -我添加了使用Facebook;(
facebook.dll
来自www.csharpsdk.org) 同样在
AccountController
中,可以在
ExternalLoginCallback
中找到:

在这里,我使用facebook c#sdk在调用
CreateOrUpdateAccount
之前请求额外的权限


我不认为这是最好的解决方案,但它确实有效。

不幸的是,如果您在MVC 4附带的FacebookClient类上使用ILSpy,您可以看到MS代码根本不请求电子邮件信息,即使底层的DotNetOpenAuth类支持它


因此,您需要实现自己的FacebookClient类,该类的功能与此基本相同,但会将电子邮件地址添加到请求的项目中。我现在自己也在尝试,希望它能很快发挥作用。

Hey@CBroe我过去使用过js sdk,因此我知道需要添加范围详细信息。因此,开箱即用提供的默认设置不允许我添加范围设置。我需要创建一个自定义的Facebook客户端,允许我在中添加范围详细信息吗?我不知道在您的开发环境中“默认”和“开箱即用”是什么…我跟踪了一个自定义提供商,并尝试使用自定义提供商从LinkedIn获取更多用户信息,但它从未向我返回更多信息。例如,我更改了这个URL
https://api.linkedin.com/v1/people/~:(id、名字、姓氏、标题、行业、摘要)
到新URL
https://api.linkedin.com/v1/people/~:(id、电子邮件地址、名字、姓氏、标题、行业、摘要)
也可以获取用户电子邮件,但它从不返回用户的电子邮件。有什么建议我可以得到更多的用户信息吗?好的。经过多次搜索,我找到了一个解决方案。我们需要在此行添加作用域
RequestTokenEndpoint=newmessageReceivingEndpoint(“https://api.linkedin.com/uas/oauth/requestToken?scope=r_basicprofile,r_emailaddress“,HttpDeliveryMethods.PostRequest)
。您可以添加越来越多的范围来获取更多数据。请看这篇文章中的解决方案:在MVC4 Internet项目中更新您的NuGet包。DotNetOpenAuthCore。它将自动更新所有依赖项。现在result.UserName将包含电子邮件地址而不是您的姓名。