我有一个Facebook页面,我正在尝试上传一个已经托管在我的服务器上的视频。我需要通过javascript来做到这一点,我所拥有的只是视频的src链接(类似于 https://cdn.whodaman.net/Q45rt7y.mp4
)。作为管理员,我拥有所有必需的权限(publish_stream、manage_pages
)。
facebook api说我必须以multipart/form-data
的形式发送数据,这意味着视频内容。为了通过ajax实现这一点,我在stackoverflow上回答了这个问题,并学习了如何在jQuery中使用ajax请求发送FormData对象。
这是我的脚本代码:
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
脸书要求访问令牌!我很确定我没弄错,因为我可以添加一个文本状态帖子。我还尝试将表单数据中的< code>file参数的名称从< code>source更改为< code>file,但没有效果。
那么,是否有可能通过js sdk直接从视频网址上传视频到facebook呢?我有一种感觉是这样的,我已经非常接近解决方案了。
对图形api执行POST请求使用file_url字段指定视频的url并去掉源字段,不需要multipart/form-data。
用消息或图像发布定期帖子对我来说很好,但没有视频 下面是我的代码: 视频和我的js运行文件在同一个文件夹里。
文档中的代码使用
我用iOS SDK把一段视频发到了Facebook的个人资料上,效果很好。但当我尝试使用相同的代码,并将原生视频发布到Facebook页面时,它失败了,出现了以下错误: (#200)应用程序没有发布到目标的权限 “app没有权限发帖到目标”是什么意思?为了在页面上发布视频,我应该使用特殊权限吗? 谢了!
我有一个视频存在于我的服务器上,我需要张贴在脸书使用图形API视频。 以下是Facebook团队建议的代码。 我所做的如下。 2)发到脸书 这很耗时。 下面是我正在尝试的代码
我目前正在facebook上测试我的应用程序,试图访问我的账户地址。 在graph explorer中,它表示: 字段为空或被访问令牌禁止。 我检查了所有的访问权限,并在我的个人资料中输入了一个地址。 有什么建议吗? 电子邮件
问题内容: 我正在尝试在Facebook页面的墙上张贴帖子。我可以使用App Access令牌在用户墙上发布信息。 通过扩展DefaultFacebookClient获得了应用程序访问令牌 有了这个,我可以使用appID和appSecret发布到用户墙。但是,当我尝试发布到Page Wall时,出现错误“用户未授权应用程序执行此操作” 有人可以建议吗? 问题答案: 应用程序访问令牌是最基本的令牌,