2015-04-20 3 views
0

как виджет работает, комментарий виджет не: SEE UPDATE 2Facebook Graph API 2.0 может нравиться/комментарий, но не комментарий


Я унаследовал проект, который имеет 1,0 реализацию Graph. Пользователи могут входить в систему с помощью Facebook, а затем использовать и комментировать сайт.

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

Одноименные и комментариев виджеты были обновлены, чтобы использовать синтаксис 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 Test Test, я не могу любить или комментировать. Когда вы пытаетесь опубликовать комментарий, я получаю сообщение об ошибке, которое просто указывает «Oops» в лайтбокс/диалог. С моей консоли, я получаю следующее сообщение об ошибке:

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 Test User (настроенный для запуска приложения в режиме 2.0) не взаимодействует с виджетами, в то время как мой персональный профиль FB может? Не удалось ли я правильно обновить систему проверки подлинности, чтобы 2.0 Test User не был достаточно привилегирован?

[UPDATE]

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

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

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

[UPDATE 2]

Похоже, моего Open Graph Test Пользователь может как страницу, а затем, после подтверждения, пользователь может комментарий на странице образует результирующий диалог с Like виджета.

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

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

+0

Разрешений offline_access и publish_stream больше не существует. Попробуйте сделать тот же запрос в Graph Explorer с тем же токеном доступа – WizKid

+0

спасибо за предложение @WizKid. Я вставил токен доступа из моего тестового пользователя в Graph Explorer. Я получаю действительный ответ, содержащий следующие поля: 'id, first_name, last_name, email, picture, link'. И после обрезания моих прав только на 'email, publish_actions, user_website', я все равно получаю ту же ошибку, с кодом:' 1357010' –

ответ

0

Непонятно, какие вызовы вы делаете, и я верю, что «Like and Comment Widgets» вы говорите о пользовательских, которые основаны на API, а не на официальных плагинах Facebook.

Так вопрос: тестовые пользователи НЕ могут взаимодействовать с реальными данными в соответствии с docs:

  • Each app can create a maximum of 2000 test users.
  • Test users can only interact with other test users, and not with real users on Facebook.com.
  • Test users cannot become a fan of a public Facebook Page or create content on them, such as writing on a Page's wall. A Test user can however view and interact with any app tab on the Page associated with the app that created them.
  • Test users are unable to reply to messages, even if the message was created by the test user.
  • Test accounts can only be accessed and used by any developer of the associated app.
  • Test users will only have 'Tester' privileges on the associated app. This means that they can use the app in Public Mode or Development Mode, but cannot edit any technical settings or access insights for that app.
  • Test accounts cannot be converted to normal user accounts.

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

+0

Спасибо @ifaour. Относительно того, являются ли эти пользовательские виджеты против официальных плагинов Facebook, я считаю, что они являются официальными - ничего обычая. Я вставляю что-то вроде: '

', а затем FB преобразует его. И, что касается «реальных данных», когда мои тестовые сообщения пользователя, я вижу отображение комментариев на мгновение, а затем удаляется. Это связано с тем, что тестовый пользователь взаимодействует с «реальными данными», и он вставлен в пользовательский интерфейс, отклонен на сервере и затем удален? –

+0

Я не знаю точного поведения на моей голове. Но я бы предположил, что подобная логика будет применяться там, где «тестовые учетные записи приложений» не смогут взаимодействовать с реальными данными (вашим сайтом) в том виде, в котором вы пытаетесь. – ifaour

Смежные вопросы