Я читал на сайте developers.facebook.com, но они очень плохо объясняют это. Поэтому я надеюсь, что некоторые из вас могут объяснить мне, как добавить комментарий и кнопку на статусы Facebook с использованием JavaScript и API-интерфейсов Graph.Комментарии и отзывы на обновлениях facebook
У меня есть приложение, которое отображает входной фид пользователя (если вам нужна новостная лента). То, что я хочу, - это базовая функция Facebook, которая позволяет комментировать и нравится этим статусам, изображениям, общим ресурсам и т. Д. (Так же, как вы можете на Facebook), а также видеть тех, кто комментировал и любил эти фотографии и статусы.
Я понял, что нужно использовать метод POST, но я не знаю, что я собираюсь сделать это (есть некоторая информация здесь: http://developers.facebook.com/docs/reference/api/publishing/)
Так вот мой код сейчас (я не знаю, если это наиболее эффективный способ сделать это, но это работает я был бы рад, если вы могли бы дать мне некоторые конструктивные критики в том, что а):.
FB.api('/me/home', function(response) {
console.log(response.data);
for(var i=0, len = response.data.length; i < len; i++){
var post_type = response.data[i].status_type; //Post type
var poster_id = response.data[i].from.id; //Poster
var poster_name = response.data[i].from.name; //Posters name
var poster = '<a href="http://www.facebook.com/' + poster_id + '/" >' + poster_name + '</a>'; //Link to poster
var poster_pic = 'https://graph.facebook.com/' + poster_id + '/picture'; //Posters profile pic
var poster_img = '<img height="50px" width="50px" src="' + poster_pic + '" />';
var post_id = response.data[i].id; //Id of message
var post = response.data[i].message; //Content of message
var post_date = response.data[i].created_time; //Date created
var object_id = response.data[i].object_id; //Pic id (if pic's an object)
var post_img_url = response.data[i].picture; //Pic url
if(!object_id) {
var post_img = '<a href="http://www.facebook.com/' + post_id + '/"> <img src="' + post_img_url + '" /> </a>'; // <a href="http://www.facebook.com/' + post_id + '/">See at Facebook</a>
} else {
var post_img = '<a href="http://www.facebook.com/' + object_id + '/"> <img src="' + post_img_url + '" /> </a>';
}
if (!post_img_url) {
post_img = '';
}
if(!post) {
post = response.data[i].story;
}
if (post_type === 'wall_post') {
if(response.data[i].to) {
var posted_to_name = response.data[i].to.data[0].name;
var posted_to_id = response.data[i].to.data[0].id;
var posted_to = '<a href="http://www.facebook.com/' + posted_to_id + '/" >' + posted_to_name + '</a>';
document.getElementById("write").innerHTML += ('<hr> <div class="facebook_content"> <div class="facebook_left_side"> <div class="facebook_content_header"> <div class="poster_img">' + poster_img + '</div> <div class="poster">' + poster + '</div> <div class="post_type"> wrote on ' + posted_to + '\'s wall: </div> <div class="post_date">' + post_date + '</div> </div> <div class="story">' + post + '</div> </div> <div class="facebook_right_side"> <div class="img">' + post_img + '</div> </div> </div> </br>');
} else {
document.getElementById("write").innerHTML += ('<hr> <div class="facebook_content"> <div class="facebook_left_side"> <div class="facebook_content_header"> <div class="poster_img">' + poster_img + '</div> <div class="poster">' + poster + '</div> <div class="post_date">' + post_date + '</div> </div> <div class="story">' + post + '</div> </div> <div class="facebook_right_side"> <div class="img">' + post_img + '</div> </div> </div> </br>');
}
} else if (post_type === 'added_photos') {
document.getElementById("write").innerHTML += ('<hr> <div class="facebook_content"> <div class="facebook_left_side"> <div class="facebook_content_header"> <div class="poster_img">' + poster_img + '</div> <div class="poster">' + poster + '</div> <div class="post_type"> added a photo: </div> <div class="post_date">' + post_date + '</div> </div> <div class="story">' + post + '</div> </div> <div class="facebook_right_side"> <div class="img">' + post_img + '</div> </div> </div> </br>');
} else if (post_type === 'shared_story') {
document.getElementById("write").innerHTML += ('<hr> <div class="facebook_content"> <div class="facebook_left_side"> <div class="facebook_content_header"> <div class="poster_img">' + poster_img + '</div> <div class="poster">' + poster + '</div> <div class="post_type"> shared: </div> <div class="post_date">' + post_date + '</div> </div> <div class="story">' + post + '</div> </div> <div class="facebook_right_side"> <div class="img">' + post_img + '</div> </div> </div> </br>');
} else {
document.getElementById("write").innerHTML += ('<hr> <div class="facebook_content"> <div class="facebook_left_side"> <div class="facebook_content_header"> <div class="poster_img">' + poster_img + '</div> <div class="poster">' + poster + '</div> <div class="post_date">' + post_date + '</div> </div> <div class="story">' + post + '</div> </div> <div class="facebook_right_side"> <div class="img">' + post_img + '</div> </div> </div> </br>');
}
}
});
я, очевидно, нужно добавить три (или более) divs, которые одинаково напоминают кнопку комментария и, по крайней мере, один, чтобы отображать самые последние комментарии при нажатии (как и на Facebook). И мне нужно будет добавить какой-то JS-код, который отправляет запрос в facebook с идентификатором состояния/образа, идентификатором пользователя, каким типом действий (например, или комментарием) и последним, что содержание комментарий в этом случае.
Причина, по которой я запрашиваю эту информацию, заключается в том, что я работаю над проектом, и я просто пытаюсь использовать различные функции API-интерфейса Facebook, поскольку они могут хорошо дополнять функции моего проекта и это полезно знать для будущих ссылок.
Надежда некоторые из вас знают, что я могу сделать, чтобы заставить его работать
С уважением, Александр .
Благодаря человеку! Я попробую это, как только я доберусь до своего компьютера, и сообщит вам, если это сработает или нет :) Еще один вопрос. Как реализовать это в уже существующем коде? Где бы я поставил ваш код и так далее? – Aleksander
Я не могу помочь вам в этой детали, мне нужен весь проект. Поместите этот код, где вы хотите понравиться/комментарий. –
Хорошо, так что у меня было время попробовать это сейчас. Сначала это работало, но я столкнулся с большой проблемой. Итак, я сделал проверку if/else, чтобы узнать, есть ли объект, связанный с этим сообщением. В этом случае подобная функция принимает переменную object_id. Но если есть стандартный пост (без каких-либо объектов), он принимает переменную Post_id, которая извлекается из 'response.data [i] .id'.Это, однако, дает мне сообщение об ошибке в консоли (когда я нажимаю подобную кнопку): «SyntaxError: по крайней мере одна цифра должна произойти после десятичной точки». Идентификатор сообщения выглядит так: xxxxxxx_xxxxxx – Aleksander