Facebook 从 Windows Forms 扩展用户访问令牌

本文关键字:用户 访问令牌 扩展 Forms Windows Facebook | 更新日期: 2023-09-27 18:34:38

我在Windows表单应用程序中有一个简单的方法,可以在我是管理员的页面上发布视频。 但图形 API 用户令牌已过期。 如何延长超过 2 天?(应用程序将使用2天(

        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);

Facebook 从 Windows Forms 扩展用户访问令牌

您需要将该短期令牌交换为扩展令牌。

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

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"
               });