Facebook Graph API 2.0 Может Нравится / Комментировать, но не Комментировать

Как виджет работает, виджет комментариев не: СМ. ОБНОВЛЕНИЕ 2


Я унаследовал проект, который имеет реализацию Graph 1.0. Пользователи могут войти через Facebook, а затем "Нравится" и "Комментировать" на сайте.

Система аутентификации (symfony/php) напрямую взаимодействует с Facebook, чтобы идентифицировать пользователя, чтобы, если они не существуют, можно было создать профиль или, если они существуют, их также можно было зарегистрировать в локальной системе.,

Виджеты Like и Comment были обновлены для использования синтаксиса 2.0:

window.fbAsyncInit = function() {
        FB.init({
            appId      : 'KEY_HERE',
            xfbml      : true,
            version    : 'v2.3'
        });
    };
</script>
<script>(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/es_US/sdk.js";
    fjs.parentNode.insertBefore(js, fjs);
    }(document, 'script', 'facebook-jssdk'));</script>

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

Между тем, для аутентификации приложение генерирует URL авторизации следующим образом:

http://www.facebook.com/v2.3/dialog/oauth?client_id=API_KEY&redirect_uri=REDIRECT_URI&state=TOKEN&scope=SCOPE

Область применения состоит из следующего:

'email', 'user_website', 'offline_access', 'status_update', 'publish_actions', 'publish_stream'

Из обработчика обратного вызова этого запроса мы извлекаем профиль пользователя Facebook и переходим к пользовательскому коду для входа в систему пользователя или его регистрации:

https://graph.facebook.com/v2.3/oauth/access_token?client_id=API_KEY&redirect_uri=REDIRECT_URI&client_secret=API_SECRET&code=CODE

Это также, кажется, работает, пока я использую свой личный профиль FB. Я могу войти и комментировать и нравится вещи.

Когда я вхожу в систему, используя моего тестового пользователя Open Graph, я не могу понравиться или комментировать Когда я пытаюсь опубликовать комментарий, я получаю сообщение об ошибке, которое просто говорит "К сожалению" в лайтбоксе / диалоге. С моей консоли я получаю следующую ошибку:

for (;;);{"__ar":1,"error":1357010,"errorSummary":"Oops","errorDescription":"Something went wrong. We're working on getting it fixed as soon as we can.","payload":null,"bootloadable":{},"ixData":{},"lid":"0"}

Вот полный список кодов ошибок, но 1357010 не указан в списке:

[ http://fbdevwiki.com/wiki/Error_codes][1]

Итак, основной вопрос: почему мой тестовый пользователь Open Graph (настроенный для запуска приложения в режиме 2.0) не может взаимодействовать с виджетами, в то время как мой личный профиль FB может? Не удалось ли должным образом обновить систему аутентификации, чтобы тестовый пользователь 2.0 не был достаточно привилегирован?

[ОБНОВИТЬ]

Когда мое приложение регистрирует пользователя, отсутствует часть диалогового окна FB, которая позволяет пользователю принимать запрашиваемые разрешения. Независимо от того, вошел ли я в свою личную учетную запись или в тестовый пользователь Graph, я могу " Нравится" страницу, а затем, комментарий, из появившегося диалогового окна - этот диалог запрашивает разрешение на это.

Но из стандартного виджета Комментариев меня никогда не просят дать разрешение на публикацию - он просто терпит неудачу с ошибкой 1357010, Переключение вкл / выкл "Также пост в Facebook" не имеет значения.

Я не аутентифицируюсь в моде 2.0?

[ОБНОВЛЕНИЕ 2]

Похоже, мой тестовый пользователь Open Graph может "лайкнуть" страницу, а затем, после подтверждения, пользователь может прокомментировать на странице форму диалогового окна с виджетом "Нравится".

Однако из виджета "Комментарий" комментарий не выполнен, и я получаю общий код ошибки 1357010.

Что мне нужно сделать, чтобы разрешить моему тестовому пользователю OG (пользователь v2.3) отправлять комментарии из стандартного виджета "Комментарии"?

1 ответ

Непонятно, какие звонки вы делаете, и я полагаю, что под "Виджетом лайков и комментариев" вы говорите о пользовательских, которые работают на основе API, а не официальных плагинов Facebook.

Итак, к вопросу: тестовые пользователи не могут взаимодействовать с реальными данными в соответствии с документами:

  • Каждое приложение может создать максимум 2000 тестовых пользователей.
  • Тестовые пользователи могут взаимодействовать только с другими тестовыми пользователями, а не с реальными пользователями на Facebook.com.
  • Тестовые пользователи не могут стать фанатами общедоступной страницы Facebook или создавать на них контент, например, писать на стене страницы. Однако тестовый пользователь может просматривать и взаимодействовать с любой вкладкой приложения на странице, связанной с приложением, в котором он был создан.
  • Тестовые пользователи не могут отвечать на сообщения, даже если сообщение было создано тестовым пользователем.
  • Тестовые учетные записи могут быть доступны и использованы только для любого разработчика соответствующего приложения.
  • Тестовые пользователи будут иметь только права "Тестер" в связанном приложении. Это означает, что они могут использовать приложение в общедоступном режиме или в режиме разработки, но не могут редактировать какие-либо технические параметры или получать доступ к данным этого приложения.
  • Тестовые учетные записи не могут быть преобразованы в обычные учетные записи пользователей.

Если вы взаимодействуете с реальными данными, это может не сработать. Вы могли бы проверить это, создав нового тестового пользователя и наблюдая за результатами.

Другие вопросы по тегам