جدولة التغريدات في تويتر عبر استضافة Windows Azure , طريقة جدولة التغريدات في تويتر







السلام عليكم ورحمة الله وبركاته اعضاء وزوار معهد ترايدنت اليوم اقدم لكم جدولة التغريدات في تويتر عبر استضافة Windows Azure اتمني ان ينال الشرح اعجاب الجميع

أول خطوة : قم بانشاء تطبيق في تويتر , بدآية قم بالذهآب الى هذآ الرآبط [هنآآ]

ثآني خطوة : قم بملئ معلومآت التطبيق وفق النمط التآلي ..

ثآلث خطوة : قم بالموآفقة على شروط الخدمة [ العرب مآ يقرأوهآ ]

رآبع خطوة : تأكد من وجود المعلومآت التآلية :

Consumer key

Consumer secret

Access token

Access token secret

التصريح المطلوب Read Only

نذهب الآن الى استضآفتنآ , ويجب أن تكون من نوع Windows Azure حصرآ الآن نبدأ الخطوآت الملزمة أثنآء استعمآل الآستضآفة , ندخل على التبويب اللي عليه آشآرة [ todolist ] ثم تبويب Identity , ثم نقوم بادخال التآلي من تطبيق تويتر الذي قمنآ بنشآئه Consumer key and Consumer secret تحت كلمة twitter setting ثم نضغط بعدها على Configure

الآن ننزل تحت قليلآ , ثم نجد المطلوب كمآ في الصورة , ثم نقوم بادخال القيم التآلية : TWITTER_ACCESS_TOKEN TWITTER_ACCESS_TOKEN_SECRET

ثم نضغط على أيقونة Save نذهب الآن الى MobileTweets ونضغط على Data ثم Creat

ثم نكمل البيآنآت , كمآ في الصورة ..

ثم نضغط على Scheduler ثم Create الآن ندخل القيم التآلية كمآ في الصورة تمآمآ

الآن نذهب الى اعدادات السكربت , كمآ هو مبين بالصورة ..

نستبدل getUpdates بالكود التآلي ..

رمز PHP:
var updatesTable tables.getTable('Updates'); 
var 
request = require('request'); 
var 
twitterUrl "https://api.twitter.com/1.1/search/tweets.json?q=%23mobileservices&result_type=recent"; 

// Get the service configuration module. 
var config = require('mobileservice-config'); 

// Get the stored Twitter consumer key and secret.  
var consumerKey config.twitterConsumerKey, 
    
consumerSecret config.twitterConsumerSecret 
// Get the Twitter access token from app settings.     
var accessTokenconfig.appSettings.TWITTER_ACCESS_TOKEN, 
    
accessTokenSecret config.appSettings.TWITTER_ACCESS_TOKEN_SECRET; 

function 
getUpdates() {    
    
// Check what is the last tweet we stored when the job last ran 
    // and ask Twitter to only give us more recent tweets 
    
appendLastTweetId( 
        
twitterUrl 
        function 
twitterUrlReady(url){             
            
// Create a new request with OAuth credentials. 
            
request.get({ 
                
urlurl,                 
                
oauth: { 
                    
consumer_keyconsumerKey, 
                    
consumer_secretconsumerSecret, 
                    
tokenaccessToken, 
                    
token_secretaccessTokenSecret 
                
}}, 
                function (
errorresponsebody) { 
                if (!
error && response.statusCode == 200) { 
                    var 
results JSON.parse(body).statuses; 
                    if(
results){ 
                        
console.log('Fetched ' results.length ' new results from Twitter');                        
                        
results.forEach(function (tweet){ 
                            if(!
filterOutTweet(tweet)){ 
                                var 
update = { 
                                    
twitterIdtweet.id, 
                                    
texttweet.text, 
                                    
authortweet.user.screen_name, 
                                    
datetweet.created_at 
                                
}; 
                                
updatesTable.insert(update); 
                            } 
                        }); 
                    }             
                } else {  
                    
console.error('Could not contact Twitter'); 
                } 
            }); 

        }); 
 } 
// Find the largest (most recent) tweet ID we have already stored 
// (if we have stored any) and ask Twitter to only return more 
// recent ones 
function appendLastTweetId(urlcallback){ 
    
updatesTable 
    
.orderByDescending('twitterId') 
    .
read({success: function readUpdates(updates){ 
        if(
updates.length){ 
            
callback(url '&since_id=' + (updates[0].twitterId 1));            
        } else { 
            
callback(url); 
        } 
    }}); 
} 

function 
filterOutTweet(tweet){ 
    
// Remove retweets and replies 
    
return (tweet.text.indexOf('RT') === || tweet.to_user_id); 
 

ثم نقوم بالضغط على Run Once

نذهب الآن الى Data , ثم نضغط على Updates table ثم Browse , وستجد جميع البيآنآت المرفقة

والآن نقوم بالضغط على Scheduler ثم getUpdated , ثم نضغط على Enable


المصدر