
Kişisel bir istekten dolayı Instagram' da ve Facebook' ta bir kullancıya ait tüm paylaşımları toplamam gerekiyordu. Tabiki bir yazılımcı bunu ilgili api' lere bağlanan bir uygulama ile yapardı. Bunun için şöyleçok ufacık bir uygulama hazırladım.Bu uygulamaya istekte bulunulacak api' yi belirtikten sonra "access token" değerini vererek çalışıyor. Tabi Instagram için "user id" ye de ihtiyacınız var. Ondan daha sonra bahsedeceğim. Bu değerleri girdikten sonra da uygulama api' ye kuyruk şeklinde isteklerde bulunarak kişiye ait tüm paylaşımları çekmeye başlıyor.
Facebook API
Hala bazı api' lerin dokümanlarını (biraz sonra bahsedeceğim Instagram' ınki gibi) okumak zor oluyor. Neyseki Facebook' unki böyle değil çünkü Graph API Exploreraracı var. Kurcalamak istediğim paylaşımları bu araç ile deneyebildim.Bu araç ile yaptıklarımı tek bir görsel ile adım adım anlatayım.

- İlk olarak kullanıcının post' larını alacağımız için izinlerden "user_posts"u seçmemiz gerekiyor.
- Bundan sonra "Generate Acces Token" diyerek istediğimiz kullanıcı ile giriş yapabiliriz. Böylece bu kullanıcıya ait "access token" ı oluşacaktır. Bu "access token" daha sonra uygulamada kullanacağız.
- Ardından post' ları almak için kullanacağımız linki girebiliriz. Burada endpoint' imizin tamamı "me/posts?fields=message,permalink_url" oluyor. "fields" query-string' i ile post' ların message ve link bilgilerini almak istediğimizi beliriyoruz.
- Tabiki son olarak da "Submit" butonu ile istekte bulunuyoruz.
Console uygulmamda bu çıktıyı işleyecek döngünün içerisinde şöyle minik bir şablonum var.
media.data
.Where(item => !string.IsNullOrEmpty(item.message))
.Select(item => $"id: {item.id}\nurl: {item.permalink_url}\n\t{item.message}");Instagram API
Buradaki işlem birkaç adımdan oluşuyor. Bu adımları Facebook dokümanından takip edebilirsiniz. Ben bu uygulamayı tek seferlik kullacağım için "Valid OAuth Redirect URIs" ile bahsedilen adresi "http://localhost/test" olarak tanımladım. Amacım sadece 4. adımdaki gibi test kullanıcısına ait code' u alabilmek.5. adımı da gerçekleştirdikten sonra "access_token" değerlerini uygulamaya göndermek üzere not alabiliriz.

