我正在尝试使用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行上获得了异常。
知道什么是错的?
谢谢, 乍得
答案 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以查看身份验证流程: