0

我正在使用DotNetOpenAuth.AspNet进行 Facebook 身份验证。一切正常。

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

在此处输入图像描述

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

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

编辑:

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

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

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

在此处输入图像描述

没有 status_update 权限。

谢谢。

4

1 回答 1

3

在这一点上你不能。在 DotNetOpenAuth.AspNet 的内部深处,有一个名为 FacebookClient 的类。类中有一个称为“GetServiceLoginUrl”的方法。

4.3.0 版中的此方法将范围硬编码为“电子邮件”。

但是,如果您访问 Nuget 预发布存储库,并从那里获取预发布版本 4.3.1,则 FacebookClient 类在构造函数中带有一个附加参数 - 范围。您可以在其中添加权限,它会将它们添加到请求 url。

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

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

你应该很高兴。

于 2013-06-05T05:59:01.210 回答