«Нравится» страница с использованием API Graph Facebook - PullRequest
71 голосов
/ 17 июня 2010

Используя Graph API, я бы хотел, чтобы авторизованный пользователь "лайкнул" страницу.

Я попытался опубликовать следующее

https://graph.facebook.com/${PAGE_ID}/likes?access_token=${ACCESS_TOKEN}

И я получил ошибку HTTP 500, сопровождаемую «Неверный параметр post_id» в теле ответа JSON.Похоже, ресурс /likes подходит для поста на стене, а не для страницы.Как мне заставить это работать со страницей?

Ответы [ 6 ]

42 голосов
/ 20 июня 2012

Facebook объявил о поддержке URL-адресов за пределами Facebook, используя официальное встроенное действие «Мне нравится» . Вам необходимо иметь publish_actions разрешения. Граф URL для этого: https://graph.facebook.com/[User FB ID]/og.likes?object=OG_OBJECT_URL&access_token=USER_ACCESS_TOKEN

Однако вы не можете использовать эту страницу для добавления страницы в Facebook в настоящее время, поскольку в документации указано :

Для страниц Facebook или веб-сайтов, которые не интегрируются с Facebook Аутентификация, разработчики должны продолжать использовать кнопку Like социальный плагин.

10 голосов
/ 07 марта 2014

Обновление июнь 2016 г.

По-прежнему невозможно разместить страницу на Facebook с помощью API API, как указано на странице документации /{user_id}/likes о создании / обновлении /Удаление:

Вы не можете выполнить эту операцию на этой конечной точке.

В предыдущих версиях сообщение было более четким (см. Цитату ниже), но результатто же самое: это невозможно.

май 2014

На странице /{user-id}/likes документации говорится о публикациях лайков страниц Facebook:

Вы не можете публиковать, используя это преимущество, так как невозможно добавить страницу Facebook через любой API .Вы должны использовать кнопку «Мне нравится», если вы хотите, чтобы люди могли лайкать страницу в вашем приложении.

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

5 голосов
/ 24 июня 2012

, если ваше приложение представляет собой приложение с открытым графиком, теперь вы можете использовать API и больше не нуждаетесь в кнопке.

https://developers.facebook.com/docs/opengraph/actions/builtin/likes/

5 голосов
/ 17 октября 2011

Если вы хотите, чтобы эта функциональность была на вкладке страницы или на холсте в Facebook (скажем, чтобы понравиться странице изнутри похожей на страницу), можно обойти то, что предложил Том Уэллс в своем ответе Люку.Сначала вы вставляете версию iframe их кнопки «Мне нравится» на своей странице, а затем просто прослушиваете событие edge.create в вашем JS, например:

FB.Event.subscribe('edge.create',
    function(response) {
        alert('You liked the URL: ' + response);
        // ...
    }
);

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

Когда пользователь нажимает кнопку лайка iFrame, ваш код JS должен получить edge.createсобытие при условии, что iFrame был настроен так, чтобы указывать на URL рассматриваемой страницы.

3 голосов
/ 17 июня 2010

Я считаю, что это не разрешено, за исключением определенных партнерских сайтов, таких как yelp.Причина в безопасности: вы можете разместить на странице какой-нибудь javascript и заставить всех, кто посещает эту страницу, «лайкать» без их ведома.

См. Как мне «нравится» URL? на форуме разработчиков платформы Facebook

0 голосов
/ 19 марта 2014

Вы можете подобрать объект с его идентификатором объекта, используя API Facebook, используя следующий фрагмент кода

[FBRequestConnection startForPostWithGraphPath:[NSString stringWithFormat:@"/%@/likes",{object_id}] graphObject:nil completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
   //do you customisation post like here
}];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...