- Konu sahibi
- #1
Facebook için “API anahtarı” denildiğinde önce hangi kimlik bilgisinin gerektiğini ayırın. Meta uygulaması oluşturulduğunda App ID ve App Secret verilir; kullanıcı, Sayfa veya uygulama adına Graph API çağrısı yapmak için uygun erişim belirteci de gerekir. Bu üç değer birbirinin yerine kullanılmaz ve uygulama oluşturmak bütün Facebook verilerine erişim sağlamaz.
Giriş yapan kişinin temel kimliğini okumak, bir Facebook Sayfasını yönetmek ve uygulama ayarını değiştirmek farklı senaryolardır. Uç noktanın istediği belirteç türü ve izinleri esas alın. Kullanıcı belirteci almış olmak, Sayfa adına her işlemin yapılabileceğini göstermez.
Kurgu örnekte bir web uygulaması yalnız oturum açan kişinin kimliğini kullanacak olsun. Başlangıç testi User access token ile yapılır. Aynı projenin ileride Sayfa gönderisi yönetmesi gerekirse Sayfa erişimi, ilgili izinler ve uygun Page access token ayrıca değerlendirilir. İlk testin başarılı olması bu geniş yetkiyi vermez.
Client token adıyla başka bir tanımlayıcı da bulunabilir. Bu, App Secret veya kullanıcı belirteci değildir; panelde aynı bölümde görülmesi değerleri eşdeğer yapmaz.
Graph API Explorer, üzerinde yönetici, geliştirici veya test rolünüz bulunan uygulamalar için sorgu hazırlamaya yardımcı olur. Aşağıdaki akış anlatım amaçlıdır; burada hesap oluşturulmuş veya canlı API testi yapılmış değildir.
Hata alırsanız önce doğru uygulama/token türünü, ardından token'ın geçerliliğini ve gerçekten verilmiş izinleri inceleyin. Geri dönüş hatasında kayıtlı adresi kontrol edin. İzin reddini, token süresini ve yanlış uç noktayı aynı sorunmuş gibi sürekli yeni token üreterek çözmeye çalışmayın.
Hayır. Sırrı temel ayarlardan yenileyip onu kullanan sunucu entegrasyonlarını güvenli biçimde güncelleyin. Eski sır kaynak geçmişinde veya kayıtlarda kalmış olabilir; yalnız görünür dosyadan çıkarmak erişimi iptal etmez.
Hayır. Türüne göre süre veya geçersizleşme koşulları değişir. Sabit bir ömür varsaymak yerine ilgili hata/yeniden yetkilendirme akışını uygulayın; izin kaldırılması gibi durumlarda işi durdurun.
Hayır. App ID bir tanımlayıcıdır. Meta'da ürünün giriş/platform ayarları, OAuth geri dönüş adresleri, erişim belirtecinin türü ve verilmiş izinler birlikte değerlendirilir. Alan adı ayarı token yetkilerinin yerine geçmez.
Önce hangi işlemi yapacağınızı belirleyin
Giriş yapan kişinin temel kimliğini okumak, bir Facebook Sayfasını yönetmek ve uygulama ayarını değiştirmek farklı senaryolardır. Uç noktanın istediği belirteç türü ve izinleri esas alın. Kullanıcı belirteci almış olmak, Sayfa adına her işlemin yapılabileceğini göstermez.
Kurgu örnekte bir web uygulaması yalnız oturum açan kişinin kimliğini kullanacak olsun. Başlangıç testi User access token ile yapılır. Aynı projenin ileride Sayfa gönderisi yönetmesi gerekirse Sayfa erişimi, ilgili izinler ve uygun Page access token ayrıca değerlendirilir. İlk testin başarılı olması bu geniş yetkiyi vermez.
Uygulamayı ve ayarlarını hazırlama
- Meta for Developers hesabında uygulama oluşturma akışını açın. Kullanım amacına uygun senaryoyu seçip uygulamayı oluşturun; paneldeki seçenekler seçilen ürüne göre değişebilir.
- App Dashboard içindeki temel ayarlarda uygulamanın App ID ve App Secret alanlarını bulun. App ID'yi uygulama tanımlayıcısı olarak, App Secret'ı yalnız sunucuda kullanılacak sır olarak ele alın.
- Kullanacağınız giriş ürününü ve web/mobil platform yapılandırmasını tamamlayın. Web girişi için kayıtlı OAuth geri dönüş adresini, gerçekten kullanacağınız adresle eşleştirin.
- Panelde istenen uygulama alan adı, iletişim, gizlilik ve veri silme bilgilerini gerçek uygulamayla tutarlı doldurun. Bir alanı doldurmanın tek başına izin onayı olmadığını unutmayın.
| Bilgi | Görevi | Güvenlik sınırı |
|---|---|---|
| App ID | Meta uygulamasını tanımlar | Tek başına gizli parola veya veri erişim yetkisi değildir |
| App Secret | Sunucu tarafındaki belirli kimlik doğrulama/belirteç işlemlerinde kullanılır | Tarayıcıya, mobil pakete veya açık depoya gömülmez |
| User access token | İzin veren kullanıcı adına uygun işlemler | Kullanıcı, uygulama, süre ve izin kapsamı denetlenir |
| Page access token | Facebook Sayfası adına uygun işlemler | Doğru Sayfa erişimi ve gerekli izinler gerekir |
| App access token | Uygulama düzeyi belirli işlemler | Kullanıcı verisi için genel yetki değildir; sunucuda tutulur |
Client token adıyla başka bir tanımlayıcı da bulunabilir. Bu, App Secret veya kullanıcı belirteci değildir; panelde aynı bölümde görülmesi değerleri eşdeğer yapmaz.
Küçük bir okuma testiyle doğrulama
Graph API Explorer, üzerinde yönetici, geliştirici veya test rolünüz bulunan uygulamalar için sorgu hazırlamaya yardımcı olur. Aşağıdaki akış anlatım amaçlıdır; burada hesap oluşturulmuş veya canlı API testi yapılmış değildir.
- Explorer'da test edeceğiniz kendi uygulamanızı seçin. Başka uygulamaya ait belirteci kullanmayın.
- User access token alın ve yalnız testin gerektirdiği izinleri verin. Belirteç bilgisinden bağlı uygulamayı ve verilmiş izinleri kontrol edin.
- GET yöntemiyle
/me?fields=id,namesorgusunu seçili Graph API sürümünde çalıştırın. User token bağlamında me, yetki veren kullanıcıyı ifade eder. - Yanıttaki uygulama kapsamlı kullanıcı kimliğini ve adını beklenen hesapla karşılaştırın. Ham token'ı veya App Secret'ı ekran görüntüsüne ve hata kaydına taşımayın.
- Gerçek kullanıcılar için gerekli erişim seviyesini, App Review ve ürüne bağlı doğrulama koşullarını tamamlayın. Test rolündeki başarı, üretimde aynı izinlerin kullanılacağını kanıtlamaz.
Hata alırsanız önce doğru uygulama/token türünü, ardından token'ın geçerliliğini ve gerçekten verilmiş izinleri inceleyin. Geri dönüş hatasında kayıtlı adresi kontrol edin. İzin reddini, token süresini ve yanlış uç noktayı aynı sorunmuş gibi sürekli yeni token üreterek çözmeye çalışmayın.
Sık sorulan sorular
App Secret açığa çıkarsa yalnız koddan kaldırmak yeterli mi?
Hayır. Sırrı temel ayarlardan yenileyip onu kullanan sunucu entegrasyonlarını güvenli biçimde güncelleyin. Eski sır kaynak geçmişinde veya kayıtlarda kalmış olabilir; yalnız görünür dosyadan çıkarmak erişimi iptal etmez.
Uzun ömürlü token hiç geçersiz olmaz mı?
Hayır. Türüne göre süre veya geçersizleşme koşulları değişir. Sabit bir ömür varsaymak yerine ilgili hata/yeniden yetkilendirme akışını uygulayın; izin kaldırılması gibi durumlarda işi durdurun.
App ID için Google Maps anahtarı gibi tek bir alan adı kısıtı yeterli mi?
Hayır. App ID bir tanımlayıcıdır. Meta'da ürünün giriş/platform ayarları, OAuth geri dönüş adresleri, erişim belirtecinin türü ve verilmiş izinler birlikte değerlendirilir. Alan adı ayarı token yetkilerinin yerine geçmez.