Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用facebook图形API在facebook上通过URL发布视频?_Javascript_Jquery_Ajax_Facebook_Facebook Graph Api - Fatal编程技术网

Javascript 使用facebook图形API在facebook上通过URL发布视频?

Javascript 使用facebook图形API在facebook上通过URL发布视频?,javascript,jquery,ajax,facebook,facebook-graph-api,Javascript,Jquery,Ajax,Facebook,Facebook Graph Api,我有一个facebook页面,我正试图上传一个已经在我的服务器上托管的视频。 我需要通过javascript实现这一点,我所拥有的只是src链接(类似于https://cdn.whodaman.net/Q45rt7y.mp4)的视频。作为管理员,我拥有所有必需的权限(publish\u stream,manage\u page) 上面说我必须以多部分/表单数据的形式发送数据,这意味着视频内容。为了通过ajax实现这一点,我介绍了stackoverflow,并介绍了如何在jQuery中使用ajax

我有一个facebook页面,我正试图上传一个已经在我的服务器上托管的视频。 我需要通过javascript实现这一点,我所拥有的只是src链接(类似于
https://cdn.whodaman.net/Q45rt7y.mp4
)的视频。作为管理员,我拥有所有必需的权限(
publish\u stream,manage\u page

上面说我必须以
多部分/表单数据的形式发送数据,这意味着视频内容。为了通过ajax实现这一点,我介绍了stackoverflow,并介绍了如何在jQuery中使用ajax请求发送FormData对象

以下是我的javascript代码:

var fd=新FormData(); fd.append('source','https://cdn.whodaman.net/Q45rt7y.mp4' ); fd.append('access_token',testaccessToken); fd.追加(‘标题’,‘测试视频’); $.ajax({ url:“https://graph-video.facebook.com/“+testPageId+”/videos”, 数据:fd, processData:false, contentType:false, 键入:“POST”, beforeSend:function(xhr){ setRequestHeader('Content-Type','multipart/formdata'); } }); 以下是请求和相应的响应:

请求URL:https://graph-video.facebook.com/[我的页面id]/视频 申请方式:邮寄 状态代码:400错误请求
请求头 接受:*/* 接受编码:gzip、deflate、sdch 接受语言:en-US,en;q=0.8 缓存控制:没有缓存 连接:保持活力 内容长度:948 内容类型:多部分/表单数据 Cookie:[一些Cookie数据] 主持人:graph-video.facebook.com 来源:http://real.domain.com:8090 Pragma:没有缓存 推荐人:http://real.domain.com:8090/test/upload 用户代理:Mozilla/5.0(Windows NT 6.1)AppleWebKit/537.36(KHTML,如Gecko)Chrome/30.0.1599.101 Safari/537.36 请求有效载荷 ------WebKitFormBoundaryd8laVBo5HXRTFJnn 内容配置:表单数据;name=“来源” https://cdn.whodaman.net/Q45rt7y.mp4 ------WebKitFormBoundaryd8laVBo5HXRTFJnn 内容配置:表单数据;name=“访问令牌” [我的访问令牌] ------WebKitFormBoundaryd8laVBo5HXRTFJnn 内容配置:表单数据;name=“title” 测试视频 ------WebKitFormBoundaryd8laVBo5HXRTFJnn-- 响应头 访问控制允许来源:* 缓存控制:没有存储 连接:保持活力 内容长度:146 内容类型:application/json;字符集=UTF-8 日期:2013年11月11日星期一格林尼治标准时间13:50:45 过期时间:2000年1月1日星期六00:00:00 GMT Pragma:没有缓存 WWW-Authenticate:OAuth“Facebook平台”“无效的\u令牌”“请求此资源需要访问令牌。” X-FB-Debug:HLHHF7EIBKLUBKTQEWNV8V3VIIES8JOM0WPT1D7FC= X-FB-Rev:1000997 Facebook正在请求访问令牌!我很确定我找到了合适的,因为我可以添加一个文本状态帖子。我还尝试将表单数据中
文件
参数的名称从
更改为
文件
,但没有效果


那么,甚至可以通过JSSDK直接从视频url上传视频到facebook吗?我有一种感觉是这样的,而且非常接近解决方案。

使用file\u url字段对graph api执行POST请求,以指定视频的url并删除源字段,不需要多部分/表单数据。

“这意味着视频内容”–但您没有上载视频内容,但这里只有它的URL。对于照片,可以使用参数
url
而不是
source
上传照片,所以如果这对视频也适用,我会试试。(必须是一篇“普通”的帖子,而不是多部分的。)但由于facebook没有上传视频的URL参数,这就不能做到了?我不敢相信,因为从技术上讲,通过
input type='file'
上传确实是从一个源文件流式传输数据。我说过我会试试,但我没有说它一定能工作。(照片上传的
url
参数也几乎没有文档记录。)也许他们设计的视频上传功能主要是为了让人们从自己的设备上传“新鲜”的视频,而不是那些已经在网上流传的东西……我的视频是新鲜的!只是他们已经上传到其他地方了。我希望他们能很快推出一个url参数。@Atharva Johri我也有同样的问题。你解决了这个问题?如果你能找到解决办法,请帮助我。我不知道是谁否决了这个答案,为什么;应该是可以接受的。你能告诉我怎么做吗?我不是网络开发者。我的Unity单机版游戏需要它。 var fd = new FormData(); fd.append( 'source', 'https://cdn.whodaman.net/Q45rt7y.mp4' ); fd.append( 'access_token', testaccessToken); fd.append( 'title', "Test Video"); $.ajax({ url: "https://graph-video.facebook.com/"+testPageId+"/videos", data: fd, processData: false, contentType: false, type: 'POST', beforeSend: function(xhr) { xhr.setRequestHeader('Content-Type', 'multipart/form-data'); } }); Request URL:https://graph-video.facebook.com/[my page id]/videos Request Method:POST Status Code:400 Bad Request
Request Headers Accept:*/* Accept-Encoding:gzip,deflate,sdch Accept-Language:en-US,en;q=0.8 Cache-Control:no-cache Connection:keep-alive Content-Length:948 Content-Type:multipart/form-data Cookie: [some cookie data] Host:graph-video.facebook.com Origin:http://real.domain.com:8090 Pragma:no-cache Referer:http://real.domain.com:8090/test/upload User-Agent:Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36 Request Payload ------WebKitFormBoundaryd8laVBo5HXRTFJnn Content-Disposition: form-data; name="source" https://cdn.whodaman.net/Q45rt7y.mp4 ------WebKitFormBoundaryd8laVBo5HXRTFJnn Content-Disposition: form-data; name="access_token" [my access token] ------WebKitFormBoundaryd8laVBo5HXRTFJnn Content-Disposition: form-data; name="title" Test Video ------WebKitFormBoundaryd8laVBo5HXRTFJnn-- Response Headers Access-Control-Allow-Origin:* Cache-Control:no-store Connection:keep-alive Content-Length:146 Content-Type:application/json; charset=UTF-8 Date:Mon, 11 Nov 2013 13:50:45 GMT Expires:Sat, 01 Jan 2000 00:00:00 GMT Pragma:no-cache WWW-Authenticate:OAuth "Facebook Platform" "invalid_token" "An access token is required to request this resource." X-FB-Debug:HlhHF7eIBkLbUBktqeWnVv8V3viIeS8jom0WPt1D7fc= X-FB-Rev:1000997