Невозможно опубликовать на временной шкале facebook: получение сообщения об ошибке ERROR (# 100) Требуется объект параметра

У меня есть веб-сайт. Мне нужно поделиться контентом на facebook. Я создал пользовательскую историю «Участвуйте в помолвке» с соответствующим действием «Участвуйте» и «Объект помолвки». Моя проблема состоит в том, чтобы получить явное разрешение от facebook, мне нужно показать пользователю, что будет опубликовано. Когда я публикую сообщения с помощью FB.api, как показано ниже, они публикуются успешно. Подход 1:

<div id="fb-root"></div>
<script>
    window.fbAsyncInit = function() {
        FB.init({
          appId      : "Some App ID",
          status     : true,    
          cookie     : true,    
          xfbml      : true,     
          version    : 'v2.0',  
        });
      };
    
          // Load the SDK Asynchronously
          (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 = "//connect.facebook.net/en_US/sdk.js";
             fjs.parentNode.insertBefore(js, fjs);
           }(document, 'script', 'facebook-jssdk'));
    
        function postFBShare() {
            var fbparam= {
                            "app_id":"Some App ID",
                            "url":"Some url",
                            "title":'Some Title',
                            "image":[
                                     {url:"Some image url"}
                                     ],
                            "description":'',
                            "explicitly_shared": "true"
                        };
            FB.api(
                      'https://graph.facebook.com/me/{namespace}:participate ',
                      'post',
                      {
                        engagement: fbparam
                      },
                      function(response) {
                        // handle the response
                      }
                    );
        }
    </script>
    <input type="button" value="fb share" onclick="postFBShare();">

Подход 2: но чтобы показать пользователю, что он собирается опубликовать, мне нужен объект для публикации. Для этого я написал следующий код.

function preFBAction(videoURL){
                var fbparam= {
                        "app_id":"Some App ID",
                        "type" : {namespace}:engagement,
                        "url":"Some url",
                        "title":'Some Title',
                        "image":[
                                 {url:"Some image url"}
                                 ],
                        "description":'',
                        "explicitly_shared": "true"
                    };
                FB.api(
                          '/app/objects/{namespace}:engagement',
                          'post',
                          {
                            engagement: fbparam
                          },
                          function(response) {
                            // handle the response
                             if (response && !response.error) {
                                 FB.ui(
                                        {
                                            method: 'share_open_graph',
                                            action_type: '{namespace}:participate ',
                                            action_properties: JSON.stringify({engagement:response.id})
                                        },
                                      function(response) {
                                        // handle the response
                                      }
                                    );
                             }
                          }
                        ); 
};

Подход 3: я пытался использовать только FB.ui, но получаю следующую ошибку в диалоговом окне «Поделиться». Для действия требуется хотя бы одна ссылка: действие, которое вы пытаетесь опубликовать, недопустимо, поскольку оно не указывает никакой ссылки объекты. Должно быть указано хотя бы одно из следующих свойств: other. Код, который я пробовал, -

var obj={
    method: 'share_open_graph',
    action_type: '{namespace}:participate ',
    action_properties: {engagement:fbparam}     
};
 FB.ui(obj,function(response) {
    // handle the response
}); 

Так что, если кто-то знает, как это сделать и где я ошибаюсь, помогите. Спасибо!!

ОБНОВЛЕНИЕ

Используя теги og на общедоступной странице, я могу успешно размещать сообщения на стене, а также в подходе 2, если я использую /me/objects/.. вместо /app/objects. на facebook, но на этот раз я был создан в новостной ленте, а также в журнале активности, что не соответствует политикам facebook. описание-для-явно-распространенной-открытой-графики-истории-через">здесь.)


person ankur bansal    schedule 04.06.2014    source источник
comment
не получил ответа на вышеуказанный вопрос. тем не менее, если кто-то еще тратит время на то же самое .. я предлагаю использовать подход OG Tags. если кто-то найдет какое-либо решение с fb.api, пожалуйста, добавьте свой ответ   -  person ankur bansal    schedule 17.09.2014