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"
});
我使用令牌从图形API浏览器。所以没有涉及的应用程序。 – Mert 2014-12-19 10:07:54
据我所知,这是获得扩展令牌的唯一方法。 – Dan 2014-12-19 10:09:51