Geliştirici Kılavuzu: JavaScript

Blogger Data API, istemci uygulamalarının Blogger içeriğini Google Data API feed'leri biçiminde görüntülemesine ve güncellemesine olanak tanır.

İstemci uygulamanız, yeni blog yayınları oluşturmak, mevcut blog yayınlarını düzenlemek veya silmek ve belirli ölçütlere uyan blog yayınlarını sorgulamak için Blogger Veri API'sini kullanabilir.

Bu doküman, Blogger Data API'nin özellikleri hakkında bilgi vermenin yanı sıra JavaScript istemci kitaplığını kullanan temel Data API etkileşimlerine dair örnekler de sunar. Kitaplığın kullandığı temel protokol hakkında daha fazla bilgi edinmek istiyorsanız bu geliştirici kılavuzunun Protokol bölümüne bakın.

İçindekiler

Kitle

Bu doküman, Blogger ile etkileşime geçebilecek JavaScript istemci uygulamaları yazmak isteyen programcılar için hazırlanmıştır. Bu kılavuzda, Çevik yaklaşımın JavaScript istemci kitaplığını kullanan temel Data API etkileşimleri.

Blogger Data API referans bilgileri için Protokol referans kılavuzuna bakın. Bu dokümanda, Google Data API'leri protokolünün temel fikirlerini ve JavaScript istemci kitaplığının kullandığı veri modelini ve kontrol akışını anladığınız varsayılmaktadır. Ayrıca JavaScript ile programlamayı bildiğiniz varsayılır.

hakkında daha fazla bilgi edinmek için JavaScript istemci kitaplığı API'sine referans.

Bu doküman sırayla okunacak şekilde tasarlanmıştır. Her örnek, önceki örneklerin üzerine inşa edilmiştir.

Kullanım şartları

Google JavaScript'e uymayı kabul edersiniz. İstemci Kitaplığı Kullanım Şartları'na tabidir.

Desteklenen ortamlar hakkında

Şu anda yalnızca tarayıcıda bir web sayfasında çalışan JavaScript istemci uygulamalarını destekliyoruz. Şu anda desteklenen tarayıcılar Firefox 1.5 ve sonraki sürümleridir ve Internet Explorer 6.0 ve sonraki sürümleri.

JavaScript istemci kitaplığı, hizmetin sunucu. Deneyimli bir JS geliştiricisiyseniz, "Ama ne zaman yaklaşık aynı kaynak politikasına nasıl sahip olabilirsiniz? JavaScript istemci kitaplığı, istemcinizin tarayıcı güvenlik modeline uygun kalarak herhangi bir alandan Google Data API istekleri göndermesine olanak tanır.

Başlarken

JavaScript istemci uygulaması yazabilmeniz için kitaplığı edinmek üzere bazı ayarlar yapmanız gerekir.

Blogger hesabı oluşturma

Daha fazla bilgi için kaydolmak Blogger hesabınız olması gerekir. Blogger Google Hesaplarını kullanır. Bu nedenle bir Google hesabınız varsa hazırsınız demektir.

Kitaplığı edinme

İstemcinizin istemci kitaplığını kullanabilmesi için öncelikle sunucudaki istemci kitaplığı kodu.

Google AJAX API yükleyicisini getirmek için HTML belgenizin <head> bölümünde bir <script> etiketi kullanarak başlayın:

<script type="text/javascript" src="https://www.google.com/jsapi"></script>

Yükleyiciyi getirdikten sonra Google Data API istemci kitaplığını edinmek için JavaScript kurulum kodunuzda aşağıdaki satırı kullanın. Bu satır, HTML belgenizin <head> bölümünden (veya HTML belgenizin <head> bölümünde bir <script> etiketi kullanılarak dahil edilen bir JavaScript dosyasından) çağrılmalıdır:

google.load("gdata", "1.x");

google.load() için ikinci parametre, JavaScript istemci kitaplığının istenen sürüm numarasıdır.Sürüm numaralandırma şemasımız Google Maps API tarafından kullanılana göre modellenir. Olası sürüm numaraları ve bunların ne anlama geldiği aşağıda açıklanmıştır:

"1"
1 numaralı ana sürümün sondan ikinci düzeltmesi.
"1.x"
Ana sürüm 1'in en son düzeltmesi.
"1.s"
Ana sürüm 1'in en son kararlı düzeltmesi. Geliştiricilerden aldığımız geri bildirimler doğrultusunda, istemci kitaplığının belirli bir sürümünü zaman zaman "kararlı" olarak ilan ederiz. Ancak, o sürümde en son özellikler bulunmayabilir.
"1.0", "1.1" vb.
Kitaplığın belirli bir ana ve alt düzeltme numarası içeren sürümü.

google.load() işlevini çağırdıktan sonra, yükleyiciye sayfanın yüklenmesi bitene kadar beklemesini söylemeniz ve ardından kodunuzu çağırmanız gerekir:

google.setOnLoadCallback(getMyBlogFeed);

Burada getMyBlogFeed(), daha sonra tanımlayacağımız bir fonksiyondur başlıklı bölüme bakın. E-posta ile sohbet etmek yerine onload işleyicisi <body> öğesine bağlandı öğesine dokunun.

Blogger hizmetinde kimlik doğrulama

Blogger Data API'yi kullanarak hem herkese açık hem de özel feed'lere erişebilirsiniz. Herkese açık feed'ler herhangi bir kimlik doğrulaması gerektirmez ancak salt okunurdur. Şu durumda: blogları değiştirmek istiyorsanız istemcinizin istekte bulunmadan önce kimlik doğrulaması yapması gerekir. özel feed'ler.

JavaScript istemci kitaplığı, AuthSub kimlik doğrulama sistemini kullanır. Örneğin, Genel olarak Google Veri API'leriyle kimlik doğrulama hakkında daha fazla bilgi için kimlik doğrulama dokümanlarına göz atın.

AuthSub proxy kimlik doğrulaması

AuthSub proxy kimlik doğrulaması, kullanıcılarının Google Hesaplarıyla kimlik doğrulaması yapması gereken web uygulamaları tarafından kullanılır. Web sitesi operatörü ve istemci kodu, Blogger kullanıcısının kullanıcı adına ve şifresine erişemez. Bunun yerine, istemci belirli bir kullanıcı adına işlem yapmasına olanak tanıyan özel AuthSub jetonları alır.

Aşağıda, web tabanlı bir JavaScript istemcisi:

  1. İstemci uygulaması google.accounts.user.login() çağırır istemci kitaplığı tarafından sağlanan ve bir "kapsam" ileterek yöntemi değer belirten bir özet içerir. Blogger için kapsam: "http://www.blogger.com/feeds/"
  2. Müşteri kitaplığı, tarayıcıyı Google'ın "Erişim İsteği" sayfasına gönderir. Kullanıcı bu sayfada hizmete giriş yapmak için kimlik bilgilerini girebilir.
  3. Kullanıcı başarıyla giriş yaparsa AuthSub sistemi, kimlik doğrulama jetonunu ileterek tarayıcıyı web istemcisinin URL'sine geri gönderir.
  4. JavaScript istemci kitaplığı, jetonu bir çerezde depolar ve kontrolü, google.accounts.user.login() işlevini çağıran istemci uygulamasına döndürür.
  5. İstemci uygulaması daha sonra Blogger ile etkileşime geçen istemci kitaplığı yöntemlerini çağırdığında istemci kitaplığı, jetonu tüm isteklere otomatik olarak ekler.

Not: JavaScript istemci kitaplığının kimliği doğrulanmış Blogger istekleri olduğunda, sayfanızın bir resim içermesi gerekir aynı alan adında barındırılan bir URL'dir. Tek piksel şeffaf resim de dahil olmak üzere herhangi bir resim olabilir ancak sayfada bir resim bulunmalıdır. Resmin sayfanızda görünmemesini istiyorsanız resmi oluşturma alanının dışına yerleştirmek için <img> etiketinin style özelliğini kullanabilirsiniz. Örnek: style="position:absolute; top: -1000px;"

Giriş yapma işlemini yöneten istemci uygulaması kodu aşağıda verilmiştir. setupMyService() işlevini daha sonra başka bir koddan çağıracağız.

function logMeIn() {
  scope = "http://www.blogger.com/feeds/";
  var token = google.accounts.user.login(scope);
}

function setupMyService() {
  var myService =
    new google.gdata.blogger.BloggerService('exampleCo-exampleApp-1');
  logMeIn();
  return myService;
}

İpucu: kullanıcıdan giriş işlemini başlatmasını isteyen giriş düğmesi veya başka bir kullanıcı giriş mekanizması işleyeceğiz. Bunun yerine google.accounts.user.login() yüklendikten hemen sonra, kullanıcı etkileşimi bekledikten sonra, kullanıcının web sitesine vardığında gördüğü ilk şey Sayfanız bir Google giriş sayfasıysa. Kullanıcı giriş yapmamaya karar verirse, Google Onları sayfanıza geri yönlendirmez; Kullanıcı açısından bakıldığında sayfanızı ziyaret etmeyi denedi ancak uzaklaşıp hiçbir zaman geri gönderilmedi. Bu durum kullanıcılar için kafa karıştırıcı ve can sıkıcı olabilir. Bu belgedeki örnek kodda, hemen ardından google.accounts.user.login() numaralı telefonu arayacağız yüklemek, örneği basit tutmaktır, ancak istemci uygulamaları hakkında bilgi edinin.

Değişkenle herhangi bir işlem yapmanız gerekmediğini unutmayın. token; istemci kitaplığı jetonu takip eder, böylece gerekiyor.

Not: Yeni bir BloggerService nesnesi oluşturduğunuzda istemci kitaplığı, istemcinin çalıştığı tarayıcının desteklenip desteklenmediğini kontrol eden google.gdata.client.init() adlı bir yöntem çağırır. Bir hata varsa istemci kitaplığı kullanıcıya bir hata mesajı gösterir. Bu tür hataları ele almak istiyorsanız telefon edebilirsiniz. Böyle bir durumda google.gdata.client.init(handleInitError) önce hizmeti ile ilgili daha fazla bilgiyi burada bulabilirsiniz. Burada handleInitError(), fonksiyonunuzdur. Başlatma hatası gerçekleşirse fonksiyonunuz standart bir Hata nesnesi alır; her şeyi yapabilirsiniz bu nesneyle başlayalım.

Jeton, siz şunu çağırarak iptal edene kadar geçerli kalır: google.accounts.user.logout():

function logMeOut() {
  google.accounts.user.logout();
}

logout() çağrılmazsa jetonu saklayan çerez, kullanıcı tarafından silinmediği sürece iki yıl boyunca geçerli kalır. Çerez saklanıyor Böylece kullanıcı, tarayıcısını kapatıp yeniden açabilir. müşterinize geri döndüğünüzde müşterinin oturumu açık kalır.

Ancak, bir jetonun oturum sırasında geçersiz hale gelebileceği bazı olağan dışı durumlar vardır. Blogger bir jetonu reddederse istemciniz bunu işlemelidir. Çerezi kaldırmak için logout() çağrısı yaparak hata koşulunu ve ardından login() öğesini tekrar çağırarak yeni ve geçerli bir jeton edinmeniz gerekir.

Çeşitli bağlamlarda faydalı bulabileceğiniz iki AuthSub yöntemi daha vardır:

  • google.accounts.user.checkLogin(scope), projenizin belirtilen veri için tarayıcının şu anda bir kimlik doğrulama jetonuna sahip olmadığını kapsam.
  • google.accounts.user.getInfo() ayrıntılı bilgi sağlar hata ayıklama kullanımı için mevcut jeton hakkında.

Jeton yönetimi ve checkLogin() ile getInfo() hakkında bilgi de dahil olmak üzere AuthSub ile etkileşimde bulunmak için JavaScript kullanma hakkında ayrıntılı bilgi için JavaScript İstemci Kitaplığı ile "AuthSub" Kimlik Doğrulama belgesine bakın.

Başa dön