Добрый день, друзья! Полагаю, многие из Вас пользуются социальными сетями, которые сейчас очень развиты и пользуются огромной популярностью во всем мире. И одна из таких сетей - 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.: Во вложении небольшой пример, который позволяет обновлять статус в Вашем микро-блоге и отображать последние сообщения в нем.