将参数传递给 Facebook Open Graph API

本文关键字:Graph API Open Facebook 参数传递 | 更新日期: 2023-09-27 18:32:20

我正在尝试使用C#SDK将视频上传到Facebook打开图。视频似乎上传正常,我得到了活动的 ID,但只显示了示例元数据。

经过一番挖掘,我发现了这个:

在能够为用户发布 Open Graph 操作并在步骤 3 中定义其相应的连接对象类型之前,您现在需要创建一个可公开访问的网页,该网页使用 Open Graph 元标记表示此对象。创建此对象页后,可以使用图形 API 发布操作。

由于这是一个客户端应用程序,我没有可以参考Facebook的网页。那么如何传入正确的参数呢?

这是我的代码:

var parameters = new Dictionary<string, object>();
parameters["source"] = new FacebookMediaObject { ContentType = "video/mpeg", FileName = "video.mpeg" }.SetValue(File.ReadAllBytes(@"D:'sample video.MP4"));
parameters["og:title"] = "Sample video";
parameters["title"] = "Sample video";
parameters["og:description"] = "Test description";
parameters["highlight"] = "http://samples.ogp.me/287287444686523"; // If I don't put this, the upload fails
fb.PostAsync("/me/myobjectname:share", parameters);

谢谢!

将参数传递给 Facebook Open Graph API

对于版本 6,您可以执行以下操作:

var fb = new FacebookClient(accessToken);
string attachementPath = @"C:'image.jpg";
using (var stream = File.OpenRead(attachementPath))
{
    dynamic result = fb.Post("me/photos",
                                new
                                    {
                                        message = "upload using Facebook C# SDK",
                                        file = new FacebookMediaStream
                                                {
                                                    ContentType = "image/jpg",
                                                    FileName = Path.GetFileName(attachementPath)
                                                }.SetValue(stream)
                                    });
}

更多细节在这里。