Facebook从Windows窗体扩展用户访问令牌

Facebook从Windows窗体扩展用户访问令牌

问题描述:

我有一个简单的方法在Windows窗体应用程序中张贴视频页面,我是管理员。但GRAPH API USER TOKEN会过期。我如何延长2天以上? (应用程序将使用2天)Facebook从Windows窗体扩展用户访问令牌

 var fb = new FacebookClient("GRAPH API USER TOKEN"); 

     dynamic x = fb.Get("/me/accounts", null); 

     foreach (var item in x.data) 
     { 
      if (item.id == "PAGEID") 
       fb = new FacebookClient(item.access_token); 
     } 

     dynamic parameters = new ExpandoObject(); 
     parameters.source = new FacebookMediaObject { ContentType = "video/mp4", FileName = VideoId + ".mp4" }.SetValue(File.ReadAllBytes(@"c:\x\y\" + VideoId + ".mp4")); 
     parameters.title = "foo"; 
     parameters.description = "more foo"; 

     dynamic result = fb.Post("/PAGEID/videos", parameters); 

您需要将该短暂标记交换为扩展标记。

这可以通过以下调用来完成:

https://graph.facebook.com/oauth/access_token?    
client_id=APP_ID& 
client_secret=APP_SECRET& 
grant_type=fb_exchange_token& 
fb_exchange_token=EXISTING_ACCESS_TOKEN 

您的扩展令牌是响应。

使用C#SDK:

var result = _fb.Post("oauth/access_token", 
       new 
       { 
       client_id = "APP_ID", 
       client_secret = "APP_SECRET", 
        grant_type = "fb_exchange_token", 
        fb_exchange_token= "SHORT_LIVED_TOKEN" 
       }); 
+0

我使用令牌从图形API浏览器。所以没有涉及的应用程序。 – Mert 2014-12-19 10:07:54

+0

据我所知,这是获得扩展令牌的唯一方法。 – Dan 2014-12-19 10:09:51