Я хочу получить и показать только текстовое обновление статуса, как я могу указать это в своем скрипте? - PullRequest
0 голосов
/ 24 января 2012

Уважаемые коллеги-программисты,

Я работаю над сайтом моего B & B www.bordemundo.com и хотел бы включить в заголовок моего сайта самое последнее обновление статуса страниц Facebook.

Поскольку я не крэк, когда дело доходит до JQuery, я запустил Google и отредактировал скрипт, который работает просто отлично. Мне удалось избавиться от отметки даты, которая мне на самом деле не нужна, так как статус менялся ровно раз в день. Теперь я заметил, что он также обновляется, когда я делюсь фотоальбомом друга другой страницы или любой ссылкой или цифровой информацией.

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

Спасибо за внимание, и я очень ценю любую помощь!

(function($) {
$.fn.faceFeed = function(options) {
    /**
     * Configuration
     *
     * `pageName:` The name of your Facebook page. Required.
     * `tokenGenerator:` Path to a file that will return a JSON access_token. If defined, this will take
     *                   priority over `accessToken`.
     * `accessToken:` A token you generate at <https://developers.facebook.com/tools/explorer>.
     * `dateClass:` The class of the `<span>` that contains your date "ago in words". Default: `post-date`
     */
    var config = {
        pageName:    '',
        tokenGenerator: '', // default: token.php
        accessToken: '',
        postsToFetch: 1
    };
    $.fn.extend(config, options);

    /**
     * Converts "http://" links into <a> tags.
     *
     * @param {String} a block of text for which all "http://" links need conversion
     * @return {String} the same block of text with URLs re-formatted.
     */
    function linkify(text){
        if (text) {
            text = text.replace(
                /((https?\:\/\/)|(www\.))(\S+)(\w{2,4})(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/gi,
                function(url){
                    var full_url = url;
                    if (!full_url.match('^https?:\/\/')) {
                        full_url = 'http://' + full_url;
                    }
                    return '<a href="' + full_url + '">' + url + '</a>';
                }
            );
        }
        return text;
    }

    /**
     * Requests your page's status feed from the Open Graph and injects it as HTML into the
     * element.
     *
     * @param {String} accessToken - A generated or provided access token for authorizing
     *                               with the API.
     */
    function getPosts(accessToken, self) {
        $.ajax({
            url: 'https://graph.facebook.com/'+config.pageName+'/feed',
            type: 'GET',
            data: {
                access_token: accessToken,
                limit: config.postsToFetch
            },
            dataType: 'json',
            success: function(response) {
                self.html('');
                for (var c=0; c < response.data.length; c++) {
                    var status = response.data[c];
                    var statusMessage = (status.message) ? status.message : status.story;

                    var txt = linkify(statusMessage);

                    var row = $('<span class="status"></span>').html(txt);
                    self.append(row);
                }
            }
        });
    }


    /*
     * Runtime.
     */
    return this.each(function() {
        var self = $(this);
        self.html('<p>Lade Neuigkeiten...</p>');

        if (config.tokenGenerator) {
            $.ajax({
                url: config.tokenGenerator,
                type: 'GET',
                dataType: 'json',
                success: function(generator) {
                    getPosts(generator.access_token, self);
                }
            })
        } else {
            getPosts(config.accessToken, self);
        }
    });
};

}) (JQuery)

1 Ответ

1 голос
/ 24 января 2012

Да, перейти от чтения ленты страниц к чтению статусов страниц. Смотри: http://developers.facebook.com/docs/reference/api/page/

Вы также можете быть уверены, что постер этого элемента - это тот, кем вы хотите его видеть, проверив post.from.id каждого элемента и убедившись, что ID - это идентификатор постера, который вы хотите отобразить

...