Публикация

Terrasoft и Twitter

Добрый день, друзья! Полагаю, многие из Вас пользуются социальными сетями, которые сейчас очень развиты и пользуются огромной популярностью во всем мире. И одна из таких сетей - Twitter. Сегодня я приведу небольшой пример интеграции с этой системой.

Не буду расписывать в деталях, как это работает (код в приложении довольно детально расписан), просто приведу код двух основных функций.
Функция обновления статуса в Twitter (отправка сообщения):

function SendTweet(sUser, sPassword, sText) {
        // Convert tweet text to the encoded format needed
        sText = 'status=' + sText;
        var sData = encodeURI(sText);
       
        // Set URL for this Twitter request
        var sUrl = 'http://twitter.com/statuses/update.json';
       
        // Create the request object from the Windows COM server for XML operations
        var oRequest = new ActiveXObject('MSXML2.XMLHTTP');
       
        // Prepare the request with appropriate parameters
        oRequest.Open('POST', sUrl, false, sUser, sPassword);
       
        // Send the request to twitter.com (include data in the body for a POST request)
        oRequest.Send(sData);
       
        // Show the status of the HTTP response from the web server, indicating whether the tweet was posted successfully
        var sStatus = oRequest.statusText;
        ShowInformationDialog(sStatus);
}

Функция получает три параметра: логин, пароль и текст сообщения.

И пример функции по получению последних сообщений в Вашей ленте:

function GetTweets(sUser, sPassword) {
        /* Use this function if you want to see detail info  */
        function printObject(sName, oValue) {
                var sType = typeof(oValue);
                if (sType != 'object') {
                        ShowWarningDialog(sName + ', ' + sType + ', ' + oValue);
                }
                ShowWarningDialog(sName + ', ' + sType + ', ' + oValue);
                for (sAttribute in oValue) {
                        vValue = oValue[sAttribute];
                        sType = typeof(vValue);
                        if (sType == 'object') {
                                printObject(sAttribute, vValue);
                        } else {
                                ShowWarningDialog(sName + ', ' + sType + ', ' + oValue);
                        }
                }
        }

        // Number of page
        var sPage = 1;

        // Convert page number to the encoded format needed
        sPage = 'page=' + sPage;
        var sData = encodeURIComponent(sPage);

        // Set URL for this Twitter request
        var sUrl = 'http://twitter.com/statuses/friends_timeline.json';
       
        // Add the query string to the URL (used by a GET  request)
        sUrl += '?' + sData;
       
        // Create the request object from the Windows COM server for XML operations
        var oRequest = new ActiveXObject('MSXML2.XMLHTTP');
       
        // Prepare the request with appropriate parameters
        oRequest.Open('GET', sUrl, false, sUser, sPassword);
       
        // Send the request to twitter.com
        oRequest.Send();

        // Check for success, and abort if not
        var sStatus = oRequest.statusText
        if (sStatus != 'OK') {
                ShowWarningDialog(sStatus);
                return;
        }

        // Get the web server response
        var sResponse = oRequest.responseText;
       
        // Ensure the response will be interpreted as a JScript expression
        sResponse = '(' + sResponse + ')';
       
        // Evaluate the expression, thereby creating an array of message objects
        var aMessages = eval(sResponse);
       
        // Uncomment the following line to print the complete response
        // printObject('Response', aMessages)
       
        return aMessages;
}

Эта функция получает всего два параметра: логин и пароль.
У нее есть небольшая особенность - сообщения забираются только с первой страницы, т.е. последние 20 сообщений, если мне не изменяет память.

Вот, в принципе, и все. Дерзайте!

P.S.: Во вложении небольшой пример, который позволяет обновлять статус в Вашем микро-блоге и отображать последние сообщения в нем.

Нравится

Поделиться

0 комментариев
Показать все комментарии