Facebook Graph API - 视频上传

时间:2011-02-17 10:07:07

标签: facebook-c#-sdk

在弃用过程中使用REST api,我正在尝试将现有应用程序转换为使用facebook c#sdk。

我们目前可以做的一件事是通过上传来发布视频。

我已经按如下方式创建了一个POST请求,但是我收到了“不支持的帖子请求”失败。

            byte[] video = File.ReadAllBytes(TESTDATA_DIR + "Snowboarding penguin.mov");

        if (_FBClient != null)
        {
            var parameters = new Dictionary<string, object>();
            parameters.Add("message", "This is a Graph API unit test message containing a video! (" + DateTime.Now.ToString() + ")");
            parameters["caption"] = "This is the caption for the unit test message!";
            parameters["description"] = "This is description for the unit test message!";
            parameters["name"] = "This is name of the unit test message!";
            parameters["req_perms"] = "publish_stream";
            parameters["scope"] = "publish_stream";

            var mediaObject = new FacebookMediaObject
            {
                FileName = "Snowboarding penguin.mov",
                ContentType = "video/mov",
            };
            mediaObject.SetValue(video);
            parameters.Add("source", mediaObject);

            _FBClient.Post("me/videos", parameters);
        }

我看到很多关于视频上传的一般帖子都没有得到GRAPH API的支持,但希望FB现在已经解决了这个问题。

任何人都可以引导我朝正确的方向发出请求吗?

TIA

1 个答案:

答案 0 :(得分:1)

图表api不支持视频上传。您将需要使用旧的休息api。

<击>

<击>
        var videoPath = "c:\\sample.3gp";
        byte[] video = File.ReadAllBytes(videoPath);

        var mediaObject = new FacebookMediaObject
                              {
                                  FileName = "sample.3gp",
                                  ContentType = "video/3gpp"
                              };
        mediaObject.SetValue(video);

        dynamic parameters = new ExpandoObject();
        parameters.source = mediaObject;
        parameters.method = "video.upload";
        parameters.access_token = "access_token";

        var fb = new FacebookClient();
        dynamic result = fb.Post(parameters);

<击>

<强>更新 Facebook最近支持通过图形api上传视频。您可以在http://blog.prabir.me/post/Facebook-CSharp-SDK-Uploading-Video-via-Graph-Api.aspx

找到有关如何使用Facebook C#SDK上传图表api视频的详细信息

需要Facebook C#SDK v5.0.46 或更高版本。

var fb = new FacebookClient("access_token"); 
dynamic parameters = new ExpandoObject();
parameters.source = new FacebookMediaObject { ContentType = "video/3gpp", FileName = "video.3gp" }.SetValue(File.ReadAllBytes(@"c:\video.3gp"));
parameters.title = "video title";
parameters.description = "video description";
dynamic result = fb.Post("/me/videos", parameters);
Console.WriteLine(result);