我正在努力确保我正确转换为DateTime,使用.Net服务进行连接,希望将过期存储在数据库中供以后使用。
答案 0 :(得分:6)
如果您正在谈论使用access_token返回的expires参数,那么它将在到期之前的几秒钟。
待办事项
DateTime expires = DateTime.UtcNow;
expires.AddSeconds(seconds);
并且有你的失效日期。
答案 1 :(得分:4)
看起来事情又变了。将返回的到期值(expires_at)乘以1000以获取纪元。无论如何,在JavaScript中,到期时间可以通过以下方式计算:
$this->db->select('*');
$this->db->from('table');
$this->db->where('condition1 =',' condition');
$where = '(date1 = "date" OR renewal1 = "renewal")';// you can use your condition like this
$this->db->where($where);
$q = $this->db->get();
$results = $q->result();
答案 2 :(得分:2)
对于以下端点,返回的到期值是从NOW开始的秒数。因此,将这些秒数添加到CURRENT时间,您将获得到期日期。
端点: https://graph.facebook.com/oauth/access_token?client_id=# {APPID}&安培; client_secret =#{秘密}&安培; grant_type = fb_exchange_token&安培; fb_exchange_token =#{令牌}
答案 3 :(得分:1)
Facebook提供的到期值是UTC差异。如果将其添加到当前UTC,则您具有到期值。整蛊吧?为什么他们不只是给你到期的UTC就超出了我。
如果你想在javascript中获得真正的价值,你需要知道过期值缺少毫秒。因此,为了获得真正的到期日期,您需要乘以1000以获得毫秒数,然后将其添加到请求令牌时的UTC日期值,然后用该值新建一个日期。
http://jsfiddle.net/donrolling/ng331yta/1/
var exampleExpiration = 5181776 * 1000;//have to add milliseconds in
var now = new Date().getTime();
alert(new Date(now + exampleExpiration));