我正在尝试使用C#SDK将视频上传到Facebook开放图表。该视频似乎上传正常,我获得了该活动的ID,但只显示了示例元数据。
经过一番挖掘,我发现了这个:
在能够为用户发布Open Graph操作并在步骤3中定义其对应的连接对象类型之前,您现在需要创建一个可公开访问的Web页面,该页面使用Open Graph元标记表示此对象。创建此对象页面后,您可以使用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);
谢谢!
答案 0 :(得分:0)
对于版本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)
});
}
更多详情here。