【发布时间】:2018-10-04 16:01:01
【问题描述】:
我正在尝试将视频文件发布到我的 Facebook 供稿
我的应用处于开发模式
这是我初始化 SDK 的方式:
$(document).ready(function() {
initFacebook();
});
function initFacebook(){
window.fbAsyncInit = function() {
FB.init({
appId : '2xxxxxxxx7',
cookie : true,
xfbml : true,
version : 'v3.1'
});
FB.AppEvents.logPageView();
};
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "https://connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
}
这是我的登录方式:
var FB_ACCESS_TOKEN = null;
var FB_USER_ID = null;
FB.login(function(response) {
if (response.status === 'connected') {
FB_ACCESS_TOKEN = response.authResponse.accessToken;
FB_USER_ID = response.authResponse.userID;
}
}, {scope: 'publish_video'});
然后我有一个文件输入和它的事件回调:
<input id="video-picker" type="file"/>
$("#video-picker").change(function (event) {
var file = this.files[0];
post(file);
});
现在我正在尝试发布:
function post(file){
var formData = new FormData();
formData.append('title', "My awesome video title");
formData.append('description', 'My awesome video');
formData.append('source', file);
var url = 'https://graph-video.facebook.com/v3.1/' + FB_USER_ID + '/videos?access_token='+FB_ACCESS_TOKEN;
$.ajax({
type: "POST",
url: url,
data: formData,
contentType: false,
processData: false,
success: function(data){
console.log("SUCCESS", data);
},
error: function(data) {
console.log("ERROR", data);
}
});
}
但我收到以下错误:
{
"error": {
"message": "(#100) No permission to publish the video",
"type": "OAuthException",
"code": 100,
"fbtrace_id": "D16rmDQzzT6"
}
}
我不明白出了什么问题:
- 我添加了“publish_video”权限
- 我/我正在尝试上传“.mov”文件
这是我的令牌拥有的权限:
{
"data": [
{
"permission": "publish_video",
"status": "granted"
},
{
"permission": "public_profile",
"status": "granted"
}
]
}
有什么想法吗?
【问题讨论】:
-
Facebook 似乎还没有在 API 中重新启用此功能...
标签: javascript facebook facebook-graph-api facebook-javascript-sdk facebook-login