C# 必须使用获取(OAutheException-#2500)活动访问令牌来查询有关当前用户的信息
我得到以下错误: (OAutheException-#2500)必须使用活动访问令牌来查询有关当前用户的信息 在C#中使用Facebook SDK的V6 下面是我正在使用的代码,请注意,我省略了我的AppID和appsecret:C# 必须使用获取(OAutheException-#2500)活动访问令牌来查询有关当前用户的信息,c#,facebook,oauth-2.0,facebook-c#-sdk,access-token,C#,Facebook,Oauth 2.0,Facebook C# Sdk,Access Token,我得到以下错误: (OAutheException-#2500)必须使用活动访问令牌来查询有关当前用户的信息 在C#中使用Facebook SDK的V6 下面是我正在使用的代码,请注意,我省略了我的AppID和appsecret: public partial class Form1 : Form { private string accessToken; private void getAccessTokenButton_Click(object sender, EventA
public partial class Form1 : Form
{
private string accessToken;
private void getAccessTokenButton_Click(object sender, EventArgs e)
{
FacebookClient client = new FacebookClient();
dynamic result = client.Get("oauth/access_token", new
{
client_id = "OMITTED",
client_secret = "OMITTED",
grant_type = "client_credentials"
});
accessToken = result.access_token;
}
private void retrieveFirstNameButton_Click(object sender, EventArgs e)
{
FacebookClient client = new FacebookClient();
client.AccessToken = accessToken;
dynamic result = client.Get("me");
MessageBox.Show(result.first_name);
}
}
啊!!解决了问题。您正在使用应用程序访问令牌获取有关当前登录用户的信息,这是不允许的。
您必须获取用户访问令牌才能访问有关当前登录用户的详细信息。其他选项是,您可以传递用户id而不是“我”,以获取已授予您所需权限的用户的信息
dynamic result = client.Get("User_ID");
string name = result.first_name;
我在代码中检测到的另一个问题是,您使用错误的方法使用现有的访问令牌创建新的“FacebookClient”。我认为正确的方法是在构造函数中传递accessToken
FacebookClient client = new FacebookClient("Access_Token");
这是一个完整的教程:可能重复的