
[英]JavaScript: How to like a Facebook wall post (given a Facebook page URL and a Facebook post id) using API Graph?
[英]Post a video by URL on facebook using the facebook graph API?
我有一个Facebook页面,我正在尝试上传一个已经托管在我的服务器上的视频。 我需要通过javascript执行此操作,而我所拥有的只是视频的src链接(类似于https://cdn.whodaman.net/Q45rt7y.mp4
)。 作为管理员,我拥有所有必需的权限( publish_stream, manage_pages
)。
facebook api说我必须将数据作为multipart/form-data
,这意味着视频内容。 所以要通过ajax执行此操作,我在stackoverflow上遵循了这个问题 ,并遵循如何在jQuery中使用Ajax请求发送FormData对象。
这是我的javascript代码 :
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
Facebook正在要求访问令牌! 我很确定我有正确的,因为我能够添加文本状态帖子。 我也试图改变名称file
从表单数据参数source
以file
没有效果。
那么甚至可以通过js sdk直接从视频网址上传视频到Facebook吗? 我有一种感觉,并且非常接近解决方案。
对图形api执行POST请求使用file_url字段指定视频的URL并删除源字段,不需要multipart / form-data。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.