Используйте Facebook JS API для комментирования веб-страницы, не имеющей числового идентификатора объекта.

Как я могу создать комментарий программно, если на странице нет числового идентификатора объекта Facebook?

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

[Person A] posted a comment on [Title of Page, also links to page]
This is the comment that the person wrote...

В документации (https://developers.facebook.com/docs/reference/api/using-comments/#creating), в нем сказано сделать следующее:

    POST /{object-id}/comments?
    message='This is my message'

Мой вопрос: если на моей странице нет идентификатора объекта, как я могу это сделать?

Я позвонил на свой сайт, чтобы получить идентификатор, но он просто возвращает URL-адрес. Например:

https://graph.facebook.com/?ids=http://myurl.com/

returns:

{
   "http://myurl.com/": {
      "id": "http://myurl.com/"
   }
}

Итак, как я могу POST с моим идентификатором объекта, если нет числового идентификатора объекта? Что я могу сделать, чтобы создать новые комментарии к странице, у которой нет числового идентификатора объекта, согласно Facebook?

Дополнительная информация:

В HEAD страницы я определяю его с помощью метатегов Facebook типа «статья».

  <meta property="og:type"   content="article" />

person Geoff    schedule 11.08.2013    source источник
comment
Вы хотите опубликовать комментарий на временной шкале пользователя или на странице вашего приложения в Facebook?   -  person glautrou    schedule 17.08.2013


Ответы (2)


Видите ли, комментарий — это ответ на ленту/сообщение. Итак, в вашем случае вам не нужно комментировать, вы просто хотите опубликовать фид на своей странице, например:

[Человек А] опубликовал комментарий к [Название страницы, а также ссылки на страницу]. Это комментарий, написанный этим человеком...

Для этого просто используйте:

\POST /PAGE_ID/feed?message=MESSAGE

(Список доступных параметров фида можно посмотреть здесь)

person Sahil Mittal    schedule 21.08.2013

На мой взгляд, самый чистый способ добиться этого — использовать действия opengraph. Во-первых, если у вас его нет (я надеюсь, что он у вас есть), создайте приложение FB и используйте Facebook Connect для аутентификации ваших пользователей и получения access_token с разрешением «publish_actions».

Затем вы создаете 1 объект opengraph: один объект веб-страницы (это ваша веб-страница с метаэлементами opengraph, подобными той, которую вы нам показали). После этого вы сможете создать действие «Опубликовать комментарий», связанное с объектом веб-страницы.

Посмотрите документацию opengraph: https://developers.facebook.com/docs/opengraph/ и https://developers.facebook.com/docs/opengraph/getting-started/< /а>

person Sebastien C.    schedule 21.08.2013
comment
Согласитесь, OpenGraph — не самое быстрое и простое решение, но результат будет намного лучше ожидаемого результата, показанного в исходном вопросе. Но даже с OpenGraph ему нужен идентификатор объекта - person glautrou; 22.08.2013
comment
Да, это хорошее улучшение, но даже это не решает его проблемы. - person glautrou; 22.08.2013
comment
Почему нет? с этим и с разрешения пользователя он может сделать именно то, о чем он просил: опубликовать действие в ленте пользователя, сообщающее, что он только что прокомментировал определенную веб-страницу, с содержанием комментария - person Sebastien C.; 22.08.2013