我想知道访问令牌何时到期
我正在使用httprequest并从包含链接的请求中获取响应:
https://developers.facebook.com/tools/debug/access_token?q=ACCESS_TOKEN
并搜索单词Expires
并尝试读取包含(约在x分钟内)的括号之间的字符串
但是如果出现错误,可以帮助我吗?
string site = "https://developers.facebook.com/tools/debug/access_token?q=";
string token = "";
getRequest = (HttpWebRequest)WebRequest.Create(site + token);
string result;
HttpWebResponse res = (HttpWebResponse)getRequest.GetResponse();
using (StreamReader sr = new StreamReader(res.GetResponseStream()))
{
result = sr.ReadToEnd();
}
Console.WriteLine(result);
Console.WriteLine(result.Contains("Expires"));
我收到错误我需要一个包含字符串“Expires”的结果并读取将到期的时间
答案 0 :(得分:4)
您可以在https://developers.facebook.com/docs/howtos/login/debugging-access-tokens/
阅读文档向https://graph.facebook.com/debug_token?input_token=INPUT_TOKEN&access_token=ACCESS_TOKEN
input_token :要调试的访问令牌
access_token :您的应用访问令牌或来自该应用开发者的有效用户访问令牌。
如果您使用的是FB C#SDK(http://csharpsdk.org/)
var fb = new FacebookClient("app_access_token");
dynamic result = fb.Get("debug_token", new { input_token = "access_token_to_debug" });
var appId = result.data.app_id;
var isValid = result.data.is_valid;
var application = result.data.application;
var userId = result.data.user_id;
var expiresAt = result.data.expires_at;
var scopes = result.data.scopes;
您可以在http://csharpsdk.org/docs/faq了解如何获取应用访问令牌。我还更新了文档以包含调试访问令牌。
注意:当您从用户那里获得访问令牌时,请确保也存储过期日期,这样您就可以避免此次调用。