无法获取测试用户信息

时间:2011-10-24 22:28:11

标签: c# facebook-c#-sdk

我正在尝试使用Facebook SDK 5.2.1最终创建一个测试用户,但即使我认为获取测试帐户列表的简单示例也不适用于我。我收到OAuthException“请求此资源需要访问令牌。”

这是我的代码(用自己的代码替换APP ID和APP SECRET):

FacebookOAuthClient oauth = new FacebookOAuthClient { AppId = "APP ID", AppSecret = "APP SECRET" };
dynamic tokenRes = oauth.GetApplicationAccessToken();
fbClient = new FacebookClient(tokenRes.access_token);

 dynamic response = fbClient.Get("APPID/accounts/test-users");

但是,我在fbClient.Get行上获得了异常。

知道什么是错的?

谢谢, 乍得

3 个答案:

答案 0 :(得分:2)

经过几个小时的尝试各种各样的事情和阅读各种网页/博客,我发现它无法正常工作的原因。在我的应用设置中,我的应用类型设置为原生/桌面应用。将此更改为Web,允许上述方案工作。我还不太确定web与原生facebook应用程序之间存在哪些其他差异。我的应用程序肯定只是通过桌面应用程序使用,我无法理解为什么我需要将其设置为Web只是为了让我创建测试用户。

答案 1 :(得分:0)

此代码适用于我的应用:

var app = new FacebookClient(FacebookApplication.Current.AppId,
    FacebookApplication.Current.AppSecret);

dynamic result = app.Post(string.Format("{0}/accounts/test-users",
    FacebookApplication.Current.AppId),
    new { installed = true, permissions = "user_about_me" });

答案 2 :(得分:-1)

您收到例外OAuthException的原因是您尚未获得用户的许可。

要对当前用户执行Graph API调用,您需要让用户接受您需要的权限,然后执行Graph API调用。

您需要让用户在浏览器中了解您的应用程序,因为没有不需要浏览器窗口的身份验证流程。

查看此URL以查看身份验证流程:

http://developers.facebook.com/docs/authentication/