通过图谱API

时间:2017-08-01 14:55:15

标签: facebook facebook-graph-api video upload video-thumbnails

我目前正在开发一个ASP.NET MVC应用程序,它通过Graph API将Facebook用户的视频上传到Facebook。视频上传到“/ {user-id} / videos”路径正常,但当我尝试通过向视频参数添加“thumb”参数(https://developers.facebook.com/docs/graph-api/reference/user/videos/)来上传带有自定义缩略图的视频时:

dynamic videoParameters = new ExpandoObject();
videoParameters.source = new FacebookMediaObject()
{
    ContentType = video.ContentType,
    FileName = video.FileName,
}.SetValue(System.IO.File.ReadAllBytes(video.FilePath));

if (thumbnail != null)
{
    videoParameters.thumb = thumbnail;
}

dynamic result = this.FacebookClient.Post("/me/videos", videoParameters);

return result;

抛出异常:

(OAuthException - #100)(#100)图像格式无效。它应该是一个图像 档案数据。 在Facebook.FacebookClient.ProcessResponse(HttpHelper httpHelper,String responseString,Type resultType,Boolean containsEtag,IList`1 batchEtags) 在Facebook.FacebookClient.Api(HttpMethod httpMethod,String path,Object parameters,Type resultType) 在Facebook.FacebookClient.Post(字符串路径,对象参数) 在System.Dynamic.UpdateDelegates.UpdateAndExecute3 [T0,T1,T2,TRet](CallSite站点,T0 arg0,T1 arg1,T2 arg2)......

我已经尝试将thumbnail变量作为Bitmap文件和base64字符串传递给“videoParameters.thumb”参数。由于在文档中写道:“视频缩略图原始数据要上传并与视频相关联。”,我还将缩略图作为字节数组传递。但在所有这些情况下,抛出上述异常。

经过长时间的研究,我仍然没有找到解决这个问题的办法。有人知道解决方案是什么吗?

提前致谢!

1 个答案:

答案 0 :(得分:0)

我最终做的事情(在.NET SDK vs FB API v2.12中)与视频上传相同 - 我在ThumbType属性中放置了一个FacebookMediaStream(我假设FacebookMediaObject也可以工作),ContentType为& #34;图像/ PNG"和任何东西的文件名(" Thumb.png"?)。

其他语言/ SDK应该采用类似的方法,只需按照上传实际视频内容的相同流程进行操作。

这一切都经历了,当我查看我的页面时,我看到缩略图是视频库中视频的默认缩略图。