Facebook JS SDK: «(# 100) Нет разрешения на публикацию видео» ошибка - PullRequest
0 голосов
/ 04 октября 2018

Я пытаюсь опубликовать видеофайл в своем фиде на 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'permissions
  • Я пытаюсь загрузить файл' .mov '

Вот разрешения, которые имеет мой токен:

{
  "data": [
  {
    "permission": "publish_video",
    "status": "granted"
  },
  {
    "permission": "public_profile",
    "status": "granted"
  }
  ]
}

Любые идеи, что не так

1 Ответ

0 голосов
/ 11 октября 2018

Отвечу на мой вопрос:

Я задавал тот же вопрос в группе разработчиков Facebook https://www.facebook.com/groups/fbdevelopers/permalink/1966752140034957/

И один парень дал мне объяснение:

  1. нет возможности публикации на временной шкале пользователя через API (вероятно, это произошло после 1 августа 2018 года)
  2. это работает только через API, если публикация на странице с использованием маркера страницы
  3. является единственно возможным способомподелиться видео из Интернета - это использовать диалог обмена https://developers.facebook.com/docs/sharing/reference/share-dialog/

, это не то, что я хотел сделать, но, по крайней мере, теперь это понятно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...