Makale Özeti

Windows 8 ile Twitter işlemleri

Makale

Twitter işlemlerimiz için LinqToTwitter kütüphanesini kullanacağım. LinqToTwitter açık kaynaklı bir projedir. Burdan inceleyebilirsiniz. Twitter apisinin sağladığı işlemler üzerinde linq soruguları çalıştırabiliriz.

İlk önce https://dev.twitter.com adresinden kendi uygulamamızı oluşturalım. Twitter hesabınızla giriş yaptıktan sonra https://dev.twitter.com/apps adresinden Create new application diyelim.

Burada gerekli alanları dolduralım.
twitApp

WebSite url’sini sonradan değiştirebilirsiniz.
CallBack url ise sisteme başarılı giriş yaptıktan sonra size dönen oauth_callback parametresinin değeridir.

Uygulamanın details bölümüne bakarsak Accees_level’ in Read-Only oldugu görürüz.Her uygulamanın belli izinleri vardır ve kullanıcı twitter’a sizin uygulamanız üzerinden bağlanırken bunlar kullanıcıya gösterilir.
2

Şimdi biz tam yetki için Settings bölümünden Application Type seçeneğini Read, Write and Access direct messages olarak işaretleyelim.
3

Windows 8 projemizi oluşturup Nuget yönetici ile LinqToTwitter referansını ekleyelim.
4

Ekrana buton yerleştirelim ve bu buton ile giriş yapalım. ConsumerKey ve ConsumerSecret sizin uygulamanıza özel anahtarlardır. Tweeter application altındaki OAuth settings kısmında bulunur. Buraya kendi anahtarlarınızı giriniz.

 

01 private WinRtAuthorizer auth; 
02 private async void btn_Click(object sender, RoutedEventArgs e)
03         {
04             try
05             {
06                 auth = new WinRtAuthorizer
07                 {
08                     Credentials = new LocalDataCredentials
09                     {
10                         ConsumerKey = "BurayaConsumerKey",
11                         ConsumerSecret = "BurayaConsumerSecret"
12                     },
13                     UseCompression = true,
14                     Callback = new Uri("http://www.localhost/")
15                 };
16  
17                 if (auth == null || !auth.IsAuthorized)
18                 {
19                     await auth.AuthorizeAsync();
20  
21                     btn.Visibility = Windows.UI.Xaml.Visibility.Collapsed;
22                     pnl.Visibility = Windows.UI.Xaml.Visibility.Visible;
23  
24                     var twitterCtx = new TwitterContext(auth);
25  
26                     var user = (from tweet in twitterCtx.Account
27                                 where tweet.Type == AccountType.VerifyCredentials
28                                 select tweet).SingleOrDefault();
29  
30                     lblUserName.Text = user.User.Name;
31                     BitmapImage bmp = new BitmapImage();
32                     Uri u = new Uri(user.User.ProfileImageUrl, UriKind.RelativeOrAbsolute);
33                     bmp.UriSource = u;
34                     imgProfile.Source = bmp;
35                 }
36             }
37             catch (Exception) { }
38         }

 

Butona bastığımızda aşağıdaki ekran görüntüsü gelecektir.twitApp

Kod await auth.AuthorizeAsync(); kısmında bekleyecektir. Eğer kullanıcı adı ve şifreniz doğruysa kaldığı yerden devam edip kullanıcı bilgilerini sorgulayacaktır.Örnekte kullanıcı adını ve resmini alıyoruz.

twitApp

Şimdi twitle butonu altına şöyle yazalım ..

 

01 private async void btnPostTwit_Click(object sender, RoutedEventArgs e)
02         {
03             if (auth == null || !auth.IsAuthorized)
04             {
05                 new MessageDialog("Oturum açmadınız.""Hops").ShowAsync();
06             }
07             else
08             {
09                 var twitterCtx = new TwitterContext(auth);
10                 Status tweet = twitterCtx.UpdateStatus(txtTweet.Text);
11             }          
12         }

 

Text içine yazdığımızı mesajı artık twitleyelim :) 44123

Yine twitter üzerinde bir çok işlem yapmak mümkündür. Daha detaylı bilgiye Twitter veLinqToTwitter üzerinden ulaşabilirsiniz.

Burdan indirebilirsiniz.