Facebook c# sdk FacebookClient上的Facebook c#sdk访问令牌签名无效
我对Facebook c#sdk有一个问题 当我尝试连接accesstoken时,它会发出错误消息: (OAutheException)无效的访问令牌签名 我的网址是: “+\u appid+”&重定向\u uri=http://localhost:51656/Register.aspx?scope=email,发布用户流,脱机访问,创建用户事件,用户关于我,用户活动,用户生日,用户教育历史,用户事件,用户组,用户兴趣,用户喜欢,用户位置,用户注释,用户宗教政治,用户关系详细信息,用户照片,用户状态 我的代码是:Facebook c# sdk FacebookClient上的Facebook c#sdk访问令牌签名无效,facebook-c#-sdk,Facebook C# Sdk,我对Facebook c#sdk有一个问题 当我尝试连接accesstoken时,它会发出错误消息: (OAutheException)无效的访问令牌签名 我的网址是: “+\u appid+”&重定向\u uri=http://localhost:51656/Register.aspx?scope=email,发布用户流,脱机访问,创建用户事件,用户关于我,用户活动,用户生日,用户教育历史,用户事件,用户组,用户兴趣,用户喜欢,用户位置,用户注释,用户宗教政治,用户关系详细信息,用户照片,用户
string _code ="";
string _appid = "184604574912126";
string _accesstoken;
protected void Page_Load(object sender, EventArgs e)
{
if (Request.QueryString["code"] != null)
{
_code = Request.QueryString["code"].ToString();
}
if (_code != "")
{
_accesstoken = _appid + "|" + _code;
vFB = new FacebookClient(_accesstoken);
}
try
{
JsonObject vmyobject = (JsonObject)vFB.Get("/me");
this line giving exaption.
}
我遗漏了什么?您获取访问令牌的方式是错误的 请查看此代码
string AP_ID = System.Configuration.ConfigurationManager.AppSettings["FacebookAppID"];
string client_secret = System.Configuration.ConfigurationManager.AppSettings["FacebookAppSecret"];
string mywebsite = System.Configuration.ConfigurationManager.AppSettings["FacebookAppSecret"];
string oathPage = System.Configuration.ConfigurationManager.AppSettings["PostAuthorizeRedirectURL"];
string redirect_uri = mywebsite + oathPage;
string code = Page.Request.QueryString["code"];
string link = string.Format("https://graph.facebook.com/oauth/access_token?client_id={0}&code={1}&client_secret={2}&redirect_uri={3}", AP_ID, code, client_secret, redirect_uri);
WebClient webq = new WebClient();
string access_token = webq.DownloadString(link);
int pos2 = access_token.IndexOf("&expires");
if (pos2!=-1)
access_token = access_token.Substring(13, pos2 - 13);
else access_token = access_token.Substring(13, access_token.Length-13);
使用此方法从代码中获取有效的
访问\u令牌
:
public string GetAccessTokenFromCode(string AppID, string AppSecret, string RedirectURL, string Code)
{
WebClient wc = new WebClient();
string u2 = "https://graph.facebook.com/oauth/access_token?client_id=" + AppID + "&redirect_uri=" + RedirectURL + "&client_secret=" + AppSecret + "&code=" + Code + "&state=anytexthere";
string access = wc.DownloadString(u2);
access = access.Substring(access.IndexOf("access_token") + 13);
if (access.Contains("&"))
{
string accesstoken = access.Substring(0, access.IndexOf("&"));
return accesstoken;
}
return access;
}