1

我想知道访问令牌何时到期

我正在使用 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”的结果并读取将过期的时间

4

1 回答 1

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了解如何获取应用程序访问令牌。我还更新了文档以包括调试访问令牌。

注意:当您从用户那里获得访问令牌时,请确保也存储到期日期,这样您就可以避免此调用。

于 2012-11-30T03:24:04.373 回答