Это не позволяет приложению публиковать на Facebook php

#php #facebook #facebook-graph-api #facebook-php-sdk

#php #Facebook #facebook-graph-api #facebook-php-sdk

Вопрос:

Я создаю приложение Facebook с помощью php. Я использую следующий код для добавления приложения пользователями:

 $config = array();
$config['appId'] = '532241193565136';
$config['secret'] = '19de17575ad3d245c8cc32f5b623e310';
$config['cookie'] = true;
$config['fileUpload'] = true; // optional

$fb = new Facebook($config);

$user = $fb->getUser();
$loginUrl = $fb->getLoginUrl(
    array(
        'scope'         => 'publish_actions'
    )
);
  

Это должно позволить пользователям публиковать сообщения на Facebook через приложение. Проблема, с которой я сталкиваюсь, заключается в том, что всплывающее окно разрешений не позволяет пользователям выбирать тип разрешения на публикацию — общедоступный, пользовательский, только для меня и т.д. Я всегда получаю This does not let the app post to Facebook

введите описание изображения здесь

Сообщения добавляются на страницу Facebook, но, очевидно, они являются частными для пользователя, который добавил сообщение.

Не уверен, что я что-то здесь упускаю…

Обновить:

Я попытался удалить приложение и добавить новое, но это не имело никакого значения.

Обновление 2:

введите описание изображения здесь

Я только что попробовал использовать приложение от администратора Страницы… The following permissions have not been approved for use and are not being shown to people using your app: publish_actions

Обновление информации:

На всякий случай, если кто-то наткнется на этот вопрос. В руководстве Facebook по проверке указано, что «Ориентировочное время проверки будет составлять от 7 до 14 рабочих дней». Всегда важно учитывать эти задержки 🙂

Комментарии:

1. вы пробовали нажимать «ОК», и появляется другое всплывающее окно для получения разрешения, связанного с публикацией на стене?

2. Я получаю только одно всплывающее окно

Ответ №1:

Вы здесь ничего не упускаете. Начиная с версии 2.0, разрешения, отличные от public_profile , email и user_friends необходимости отправки на проверку, прежде чем вы сможете запустить свое приложение; до тех пор только тестировщики / администраторы / разработчики приложения смогут тестировать приложение с этими разрешениями.

Поскольку вы являетесь администратором своего приложения, вы можете протестировать публикацию, но-

  1. это будет видно только вам или другим администраторам / тестировщикам / разработчикам
  2. вы не увидите параметр настройки provacy, потому что это не имеет смысла

Для отправки входа (после того, как ваше приложение будет готово к работе) смотрите эту ссылку.

Комментарии:

1. Да, я только что это увидел. Я отправил приложение на проверку, я понятия не имею, сколько времени это займет. Вероятно, мы изменим структуру нашего проекта, я, честно говоря, не знал об этом изменении. Не беспокойтесь, спасибо за вашу помощь.

2. Просто добавляю комментарий и также обновляю свой вопрос на случай, если кто-то наткнется на этот вопрос. Рекомендации Facebook по обзору ( developers.facebook.com/docs/apps/review/#submitforreview ) указано, что «Оценка времени проверки будет составлять от 7 до 14 рабочих дней». Всегда важно учитывать эти задержки 🙂

3. @j.grima ваше приложение получило одобрение?

4. Можно ли оставить приложение не отправленным / не просмотренным и использовать его в режиме песочницы ради лени 🙂

5. @dotNetSoldier В итоге мы удалили приложение, поэтому оно не было просмотрено. Насколько я знаю, использование приложения в режиме изолированной среды не будет общедоступным … просто режим тестирования.

Ответ №2:

Если ваша отправка была отклонена, вы можете опубликовать ее с помощью диалогового окна Feed, диалогового окна Requests или диалогового окна Send. Вашему приложению не нужно запрашивать publish_actions разрешение на это. Это альтернатива. (см. Ссылку на разрешение publish_actions).

 function publish() {
  FB.api('/<albumid>/photos', 'POST',
        {"url": 'example.com/image.jpeg',
         "caption": 'text'
        },
        function(response) {
           if (!response || response.error) {
             // Error trying post method - now trying a feed dialog
             FB.ui({message: text,
                    method: 'feed', 
                    link: 'example.com',
                    picture: 'example.com/image.jpeg',
                    caption: text,
                   }, function(response){
                        //successful feed dialog without publish_actions permission
                   });
          } else {
             //successful post with publish_actions permission
          }
      });
}