如何在AspNet.Membership.OpenAuth中提供范围并从Facebook获取额外数据?

时间:2013-07-15 12:43:40

标签: c# asp.net facebook-c#-sdk dotnetopenauth

我正在使用外部登录创建一个站点,我正在使用Microsoft.AspNet.Membership.OpenAuth添加外部登录,AuthConfig.cs中的代码是,

OpenAuth.AuthenticationClients.AddFacebook(
            appId: ConfigurationManager.AppSettings["FBID"],
            appSecret: ConfigurationManager.AppSettings["FBKEY"]
            );

我需要获得一些扩展权限,如read_stream,publish_stream等,

有办法吗?我用谷歌搜索,但我能找到的是我们可以添加Icon而不是文本。

有人请帮助我!

1 个答案:

答案 0 :(得分:4)

虽然根据许多开发人员提供了添加额外数据的规定,但这不起作用。有人说此功能之前有效,但后来由于facebook政策之一而下降,要求开发人员以不同方式询问基本和发布范围。

//following code will not work, although option is given
var extraData= new Dictionary<string, object>();
        extraData.Add("scope",
                               "email,publish_actions,create_event");
        //facebookSocialData.Add("perms", "status_update");
        OAuthWebSecurity.RegisterFacebookClient(
             "xxxx",
             "yyyy", "Facebook", extraData);

我的建议是制作您自己的自定义方法,这些方法允许您设置自定义范围或只需提取dotnetopenauth的来源并更改其代码以适应您的项目。