C# ile Facebook Üzerinde İstenen Bir Sayfanın Gönderilerinin Çekilmesi

Merhaba arkadaşlar bugün sizlere C# kodu ile Facebook üzerinde bulunan herhangi bir sayfanın gönderilerini nasıl çekebileceğimizden bahsedeceğim.

İlk olarak bunun için Facebook üzerinde bir application oluşturmamız ve “App Id” ile “App Secret” keylerini almamız gerekiyor. Bunun için Facebook for developer sitesine gidiyoruz. Burada login olduktan sonra sağ üst köşede yer alan “My Apps” e tıklıyoruz.

Yukarıdaki sayfa karşınıza gelecektir. Burada daha önceden oluşturmuş olduğunuz uygulamaları da görebilirsiniz. Sağ üst tarafta yer alan “+ Add a New App” butonuna basarak yeni bir uygulama oluşturuyoruz.

Burada bir popup açılacaktır. ve uygulama görünen ismiyle iletişim mail adresleri bilgilerini girdikten sonra “Create App ID” butonun basarak facebook application ımızı oluşturuyoruz.

Uygulamamızı oluşturduktan sonra uygulamamızın dashboard ına yönlendirecektir.

Sağda yer alan menü üzerinden “Settings” sekmesine tıklayarak ayarlar kısmına gelerek buradan “App ID” ve “App Secret” keylerini alıyoruz.

Bu keylerimizi aldıktan sonra yapmamız gereken kodumuzu yazarak bu keyleri kullanmak.

Projemizi açtığımızda uygulamamıza “Package Manager Console” üzerinden Facebook referance sını eklememiz gerekmektedir.

</p>
<p>Install-Package Facebook -Version 7.0.6</p>
<p>

Package Manager Console kısmına yukarıdaki kodu yazıp enter dediğiniz zaman Facebook referance ını projemize kurmuş olacaksınız.

</p>
<p>try<br />
{<br />
var fb = new FacebookClient();<br />
dynamic result = fb.Get(&quot;oauth/access_token&quot;, new<br />
{<br />
client_id = &quot;ClientID&quot;,<br />
client_secret = &quot;ClientScret&quot;,<br />
grant_type = &quot;client_credentials&quot;<br />
});<br />
var fb1 = new FacebookClient(result.access_token);<br />
dynamic result1 = fb1.Get(&quot;PageFacebookId/feed?fields=permalink_url,type&quot;);</p>
<p>var x = Convert.ToString(result1);</p>
<p>var serializer = new JavaScriptSerializer();<br />
dynamic items = serializer.Deserialize&lt;object&gt;(x);</p>
<p>foreach (var item in items[&quot;data&quot;])<br />
{<br />
var permalinkUrl = item[&quot;permalink_url&quot;];<br />
Console.WriteLine(permalinkUrl);<br />
}</p>
<p>Console.ReadLine();</p>
<p>}<br />
catch (Exception ex)<br />
{<br />
throw;<br />
}</p>
<p>

Yukarı daki kod ile istediğiniz facebook sayfasının gönderilerini çekebilirsiniz.

Kodda yer alan kısımlardan bahsedecek olursak:

ClientID: Facebook Application ımızdan aldığımız App ID mizi yazıyoruz.

ClientScret: Facebook Application ımızdan aldığımız App Secret ımızı yazıyoruz.

PageFacebookId: Verilerini çekmek istediğimiz sayfanın Facebook ID sini yazıyoruz.

</p>
<p>dynamic result1 = fb1.Get(&quot;PageFacebookId/feed?fields=permalink_url,type&quot;);</p>
<p>

Kodda yer alan yıkarıdaki kısımda Get içinde yer alan parametre ihtiyaca göre değiştirilebilir. Bunu oluşturmak içinde Facebook un kendine ait çok güzel bir toolu bulunmaktadır. Graph API Explorer adresine girerek sağ üst kısımda yazan Application dropdown ile hangi facebook application ınızı kullanmak istiyorsanız onu seçiyorsunuz.

Bura da yine sağ tarafta yer alan “Get Token” kısmından “Get App Token” seçeneğini seçiyoruz  ve sol taraftan çekmek istediğimiz parametreleri seçiyoruz. Parametre kısmındaki “me” kısmına ise hangi sayfanın verisini çekmek istiyorsak onun facebook ID sini çekmemiz gerekmektedir. Daha sonra “Submit” butonu ile sorgumuzu test edebiliriz ve bu sorguyu kodumuza ekleyebiliriz.

Yukarıdaki ekran görüntüsünde ise Mücrosoft facebook sayfasından çektiğim postlarla ilgili sorgu ve sonuç ekranı görünmektedir.

2 thoughts on “C# ile Facebook Üzerinde İstenen Bir Sayfanın Gönderilerinin Çekilmesi

Bir Cevap Yazın