DotNetOpenAuth AspNet请求status_update权限

时间:2013-04-14 14:16:39

标签: asp.net asp.net-mvc dotnetopenauth

我正在使用DotNetOpenAuth.AspNet进行Facebook身份验证。一切都运作良好。

但是,我必须更改应用程序权限,以便在用户登录时我应该请求status_update权限。我在Facebook应用程序配置中更改了权限,但我没有在我的应用程序中获得更新的登录窗口。

enter image description here

此外,我尝试使用传递额外数据范围属性来处理OAuthWebSecurity.RegisterFacebookClient方法,但没有任何访问权限。

有人知道如何使用DotNetOpenAuth.AspNet申请额外的Facebook权限吗?

修改

当我尝试发帖时,我收到了这个错误:

(OAuthException - #200)(#200)用户尚未授权应用程序执行此操作

这是我尝试登录我的应用时得到的结果:

enter image description here

没有status_update权限。

感谢。

1 个答案:

答案 0 :(得分:3)

此时你不能。在DotNetOpenAuth.AspNet的内部深处,有一个名为FacebookClient的类。在类中是一个名为“GetServiceLoginUrl”的方法。

版本4.3.0中的此方法将范围硬编码为“email”。

但是,如果你去Nuget预发布存储库,并从那里获得预发布版本4.3.1,那么FacebookClient类在构造函数中带有一个附加参数 - 作用域。您可以在其中添加权限,并将其添加到请求网址。

预发布包源是http://teamcity.dotnetopenauth.net:82/guestAuth/app/nuget/v1/FeedService.svc/

new FacebookClient(appId, secret, new[] {"email","manage_pages"});

你应该好好去。