Blogger JSON API: API'yi Kullanma

Önemli: JSON API 2.0 API'si için sunduğumuz destek 30 Eylül 2024'ten itibaren sonlandırılacaktır. İşlevlerin devam etmesi için JSON 2.0 API'sini kullanan uygulamalarınızı en son API sürümüne güncelleyin. En son sürüm için, sol taraftaki gezinme çubuğundaki bağlantıları kullanın.

Bu dokümanda, RESTful çağrı stili kullanılarak Blogger JSON API'nin ortak özelliklerinin nasıl kullanılacağı açıklanmaktadır.

İçindekiler

Giriş

Bu belge, Blogger JSON API ile etkileşim kurabilecek uygulamalar yazmak isteyen geliştiricilere yöneliktir. Blogger, kullanıcıların sürekli olarak görüşlerini yayınlamalarına olanak tanıyan web siteleri oluşturmaya yönelik bir araçtır.

Blogger kavramlarına aşina değilseniz koda başlamadan önce Başlarken makalesini okumanız gerekir.

İstekleri yetkilendirme ve uygulamanızı tanımlama

Uygulamanızın Blogger JSON API'ye gönderdiği her isteğin, uygulamanızı Google'a tanımlaması gerekir. Uygulamanızı tanımlamanın iki yolu vardır: OAuth 2.0 jetonu kullanmak (bu jeton ayrıca isteği yetkilendirir) ve/veya uygulamanın API anahtarını kullanmak. Bu seçeneklerden hangisini kullanacağınızı nasıl belirleyeceğiniz aşağıda açıklanmıştır:

  • İstek yetkilendirme gerektiriyorsa (ör. bir kişinin gizli verilerine yönelik istek) uygulama, istekle birlikte bir OAuth 2.0 jetonu sağlamalıdır. Uygulama, API anahtarını da sağlayabilir, ancak bunu yapmak zorunda değildir.
  • İstek yetkilendirme gerektirmiyorsa (ör. herkese açık veri isteği) uygulama, sizin için en uygun seçenek hangisi olursa olsun API anahtarını veya OAuth 2.0 jetonunu ya da her ikisini de sağlamalıdır.

Yetkilendirme protokolleri hakkında

Uygulamanız istekleri yetkilendirmek için OAuth 2.0 kullanmalıdır. Başka hiçbir yetkilendirme protokolü desteklenmez.

Not: Blogger JSON API, veri erişimi (karma) veya alan genelinde yetki ataması (2LO) isteğinde bulunmayla aynı anda giriş yapmayı şu anda desteklememektedir.

OAuth 2.0 ile istekleri yetkilendirme

Herkese açık olmayan kullanıcı verilerine yönelik Blogger JSON API istekleri, kimliği doğrulanmış bir kullanıcı tarafından yetkilendirilmelidir.

OAuth 2.0 için yetkilendirme işleminin ("akış") ayrıntıları, yazdığınız uygulamanın türüne bağlı olarak değişiklik gösterir. Aşağıdaki genel süreç tüm uygulama türleri için geçerlidir:

  1. Uygulamanızı oluşturduğunuzda Google'a kaydedersiniz. Ardından Google, daha sonra ihtiyaç duyacağınız bilgiler (ör. istemci kimliği ve istemci gizli anahtarı) sağlar.
  2. Google API'ları Konsolu'nun Hizmetler bölmesinde Blogger JSON API'sini etkinleştirin. (Konsol'da listelenmiyorsa bu adımı atlayın.)
  3. Uygulamanız kullanıcı verilerine erişmesi gerektiğinde Google'dan belirli bir erişim kapsamı ister.
  4. Google, kullanıcıya uygulamanızı kullanıcının verilerinden bazılarını istemeye yetkilendirmesi için bir OAuth iletişim kutusu gösterir.
  5. Kullanıcı onaylarsa Google, uygulamanıza kısa süreli bir erişim jetonu verir.
  6. Uygulamanız, erişim jetonunu isteğe ekleyerek kullanıcı verilerini ister.
  7. Google, isteğinizin ve jetonun geçerli olduğunu belirlerse istenen verileri döndürür.

Bazı akışlarda ek adımlar yer alır. Örneğin, yeni erişim jetonları almak için yenileme jetonları kullanmak. Çeşitli uygulama türlerine yönelik akışlar hakkında ayrıntılı bilgi için Google'ın OAuth 2.0 dokümanlarına bakın.

Blogger JSON API için OAuth 2.0 kapsam bilgilerini burada bulabilirsiniz:

https://www.googleapis.com/auth/blogger

Uygulamanızın OAuth 2.0 kullanarak erişim isteğinde bulunabilmesi için hem kapsam bilgilerine hem de uygulama kaydı sırasında Google'ın sağladığı bilgilere (ör. istemci kimliği ve/veya istemci gizli anahtarı) ihtiyacı vardır.

İpucu: Google API'leri istemci kitaplıkları, yetkilendirme işleminin bazı adımlarını sizin için gerçekleştirebilir. Bu kitaplıklar çeşitli programlama dilleri için kullanıma sunulmuştur. Daha ayrıntılı bilgi için Kitaplıklar ve Örnekler sayfasına göz atın.

API anahtarı edinme ve kullanma

Herkese açık veriler için Blogger JSON API'ye gönderilen isteklere bir API anahtarı veya yetkilendirme jetonu olabilecek bir tanımlayıcı eşlik etmelidir.

API anahtarı edinmek için API Konsolu'nu ziyaret edin. Hizmetler bölmesinde [api_name] öğesini etkinleştirin. Hizmet Şartları görüntülenirse bunları okuyup kabul edin.

Sonra API Erişimi bölmesine gidin. API anahtarı, bu bölmenin alt kısmında, "Simple API Access" (Basit API Erişimi) başlıklı bölümde yer alır.

Bir API anahtarınız olduktan sonra, uygulamanız key=yourAPIKey sorgu parametresini tüm istek URL'lerine ekleyebilir.

API anahtarı, URL'lere yerleştirmek için güvenlidir; herhangi bir kodlama yapmanız gerekmez.

Bloglarla Çalışma

Blog Alma

Blog'un URI'sına HTTP GET isteği göndererek belirli bir Blog Kaynağı ile ilgili bilgileri alabilirsiniz. Bloglar Kaynağının URI'sı şu biçimdedir:

https://www.googleapis.com/blogger/v2/blogs/blogId

İstek

Örnek:

GET https://www.googleapis.com/blogger/v2/blogs/2399953&key=YOUR-API-KEY

Kullanıcının herkese açık Blog'u alması için kimliğinin doğrulanması gerekmediğinden, bu GET isteğiyle Authorization HTTP üst bilgisini sağlamanız gerekmez; ancak bu başlığı sağlamazsanız bir API anahtarı sağlamanız gerekir.

Blogger'da kimlik doğrulama gerektiren özel Blog'lar da vardır.

Yanıt

İstek başarılı olursa sunucu bir HTTP 200 OK durum kodu ve blog verileriyle yanıt verir:

200 OK

{
  "kind": "blogger#blog",
  "id": "2399953",
  "name": "Blogger Buzz",
  "description": "The Official Buzz from Blogger at Google",
  "published": "2007-04-23T22:17:29.261Z",
  "updated": "2011-08-02T06:01:15.941Z",
  "url": "http://buzz.blogger.com/",
  "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953",
  "posts": {
    "totalItems": 494,
    "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953/posts"
  },
  "pages": {
    "totalItems": 2,
    "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953/pages"
  },
  "locale": {
    "language": "en",
    "country": "",
    "variant": ""
  }
}

Kullanıcının Bloglarını Alma

Blogs Koleksiyonu URI'sına bir HTTP GET isteği göndererek kullanıcının bloglarının listesini alabilirsiniz:

https://www.googleapis.com/blogger/v2/users/userId/blogs

İstek

Bir kullanıcının bloglarını listeleyen GET isteği örneğini burada bulabilirsiniz:

GET https://www.googleapis.com/blogger/v2/users/self/blogs
Authorization: /* OAuth 2.0 token here */

Not: Kendi bloglarını listeleyebilmek için kullanıcının kimliğinin doğrulanması gerekir. Bu nedenle GET isteğiyle Authorization HTTP üst bilgisini sağlamanız gerekir.

Yanıt

İstek başarılı olursa sunucu bir HTTP 200 OK durum kodu ve kullanıcının blog listesinin tam temsiliyle yanıt verir:

200 OK

{
  "kind": "blogger#blogList",
  "items": [
    {
      "kind": "blogger#blog",
      "id": "4967929378133675647",
      "name": "Brett's Test Blawg",
      "description": "",
      "published": "2010-10-06T23:33:31.662Z",
      "updated": "2011-08-08T06:50:02.005Z",
      "url": "http://brettmorgan-test-blawg.blogspot.com/",
      "selfLink": "https://www.googleapis.com/blogger/v2/blogs/4967929378133675647",
      "posts": {
        "totalItems": 13,
        "selfLink": "https://www.googleapis.com/blogger/v2/blogs/4967929378133675647/posts"
      },
      "pages": {
        "totalItems": 1,
        "selfLink": "https://www.googleapis.com/blogger/v2/blogs/4967929378133675647/pages"
      },
      "locale": {
        "language": "en",
        "country": "",
        "variant": ""
      }
    }
  ]
}

Yayınlarla Çalışma

Blog'dan Yayın Alma

Yayın Koleksiyonu URI'sına bir GET isteği göndererek belirli bir Blogdaki Yayınların listesini alabilirsiniz. Bir Yayın Koleksiyonu'na ilişkin URI aşağıdaki biçimdedir:

https://www.googleapis.com/blogger/v2/blogs/blogId/posts

İstek

Örnek:

GET https://www.googleapis.com/blogger/v2/blogs/2399953/posts&key=YOUR-API-KEY

Kullanıcının herkese açık bir Blog'dan Yayınları almak için kimliğinin doğrulanması gerekmediğinden, bu GET isteğiyle Authorization HTTP üst bilgisini sağlamanız gerekmez; ancak bu başlığı sağlamazsanız bir API anahtarı sağlamanız gerekir.

Blogger'da kimlik doğrulama gerektiren özel Blog'lar da vardır.

Yanıt

İstek başarılı olursa sunucu bir HTTP 200 OK durum kodu ve Yayınların listesiyle yanıt verir:

200 OK

{
  "kind": "blogger#postList",
  "nextPageToken": "CgkIChiAkceVjiYQ0b2SAQ",
  "prevPageToken": "CgkIChDBwrK3mCYQ0b2SAQ",
  "items": [
    {
      "kind": "blogger#post",
      "id": "7706273476706534553",
      "blog": {
        "id": "2399953"
      },
      "published": "2011-08-01T19:58:00.000Z",
      "updated": "2011-08-01T19:58:51.947Z",
      "url": "http://buzz.blogger.com/2011/08/latest-updates-august-1st.html",
      "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953/posts/7706273476706534553",
      "title": "Latest updates, August 1st",
      "content": "elided for readability",
      "author": {
        "id": "401465483996",
        "displayName": "Brett Wiltshire",
        "url": "http://www.blogger.com/profile/01430672582309320414",
        "image": {
          "url": "http://4.bp.blogspot.com/_YA50adQ-7vQ/S1gfR_6ufpI/AAAAAAAAAAk/1ErJGgRWZDg/S45/brett.png"
         }
      },
      "replies": {
        "totalItems": "0",
        "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953/posts/7706273476706534553/comments"
      }
    },
    {
      "kind": "blogger#post",
      "id": "6069922188027612413",
      elided for readability
    }
  ]
}

Belirli Bir Yayın Alma

Yayınların Kaynak URI'sına bir GET isteği göndererek Blog'dan belirli bir Yayını alabilirsiniz. Bir Yayın Kaynağına ait URI aşağıdaki biçimdedir:

https://www.googleapis.com/blogger/v2/blogs/blogId/posts/postId

İstek

Örnek:

GET https://www.googleapis.com/blogger/v2/blogs/2399953/posts/7706273476706534553&key=YOUR-API-KEY

Kullanıcının herkese açık bir Blog'dan Yayınları almak için kimliğinin doğrulanması gerekmediğinden, bu GET isteğiyle Authorization HTTP üst bilgisini sağlamanız gerekmez; ancak bu başlığı sağlamazsanız bir API anahtarı sağlamanız gerekir.

Blogger'da kimlik doğrulama gerektiren özel Blog'lar da vardır.

Yanıt

İstek başarılı olursa sunucu bir HTTP 200 OK durum koduyla ve Yayının içeriğiyle yanıt verir:

200 OK

{
  "kind": "blogger#post",
  "id": "7706273476706534553",
  "blog": {
    "id": "2399953"
  },
  "published": "2011-08-01T19:58:00.000Z",
  "updated": "2011-08-01T19:58:51.947Z",
  "url": "http://buzz.blogger.com/2011/08/latest-updates-august-1st.html",
  "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953/posts/7706273476706534553",
  "title": "Latest updates, August 1st",
  "content": "elided for readability",
  "author": {
    "id": "401465483996",
    "displayName": "Brett Wiltshire",
    "url": "http://www.blogger.com/profile/01430672582309320414",
    "image": {
      "url": "http://4.bp.blogspot.com/_YA50adQ-7vQ/S1gfR_6ufpI/AAAAAAAAAAk/1ErJGgRWZDg/S45/brett.png"
    }
  },
  "replies": {
    "totalItems": "0",
    "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953/posts/7706273476706534553/comments"
  }
}

Yorumlar Üzerinde Çalışma

Bir Yayın için Yorum Alma

Yorum Koleksiyonu URI'sine GET isteği göndererek bir Yayınla ilgili Yorumların listesini alabilirsiniz. Bir Yorum Koleksiyonu'nun URI'sı şu biçimdedir:

https://www.googleapis.com/blogger/v2/blogs/blogId/posts/postId/comments

İstek

Örnek:

GET https://www.googleapis.com/blogger/v2/blogs/2399953/posts/6069922188027612413/comments&key=YOUR-API-KEY

Kullanıcının herkese açık bir Blog'dan Yorumları alabilmesi için kimliğin doğrulanması gerekmediğinden, bu GET isteğiyle Authorization HTTP üst bilgisini sağlamanız gerekmez; ancak bu başlığı sağlamazsanız bir API anahtarı sağlamanız gerekir.

Blogger'da kimlik doğrulama gerektiren özel Blog'lar da vardır.

Yanıt

İstek başarılı olursa sunucu bir HTTP 200 OK durum kodu ve yorum listesiyle yanıt verir:

200 OK

{
  "kind": "blogger#commentList",
  "nextPageToken": "CgkIFBDwjvDXlyYQ0b2SARj9mZe9n8KsnlQ",
  "prevPageToken": "CgkIFBisvMGRlyYQ0b2SARj9mZe9n8KsnlQ",
  "items": [
    {
       "kind": "blogger#comment",
       "id": "9200761938824362519",
       "post": {
         "id": "6069922188027612413"
       },
       "blog": {
         "id": "2399953"
       },
       "published": "2011-07-28T19:19:57.740Z",
       "updated": "2011-07-28T21:29:42.015Z",
       "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953/posts/6069922188027612413/comments/9200761938824362519",
       "content": "elided",
       "author": {
         "id": "530579030283",
         "displayName": "elided",
         "url": "elided",
         "image": {
           "url": "elided"
         }
       }
    },
    {
      "kind": "blogger#comment",
      "id": "400101178920857170",
      elided for readability
    }
  ]
}

Belirli Bir Yorum Alma

Bir Yayından belirli bir Yorumu almak için Yorumlar Kaynak URI'sına GET isteği gönderebilirsiniz. Bir Yorum Kaynağının URI'sı şu biçimdedir:

https://www.googleapis.com/blogger/v2/blogs/blogId/posts/postId/comments/commentId

İstek

Örnek:

GET https://www.googleapis.com/blogger/v2/blogs/2399953/posts/6069922188027612413/comments/9200761938824362519&key=YOUR-API-KEY

Kullanıcının herkese açık bir Blog'dan Yorumları alabilmesi için kimliğin doğrulanması gerekmediğinden, bu GET isteğiyle Authorization HTTP üst bilgisini sağlamanız gerekmez; ancak bu başlığı sağlamazsanız bir API anahtarı sağlamanız gerekir.

Blogger'da kimlik doğrulama gerektiren özel Blog'lar da vardır.

Yanıt

İstek başarılı olursa sunucu bir HTTP 200 OK durum kodu ve yorum verileriyle yanıt verir:

200 OK

{
  "kind": "blogger#comment",
  "id": "9200761938824362519",
  "post": {
    "id": "6069922188027612413"
  },
  "blog": {
    "id": "2399953"
  },
  "published": "2011-07-28T19:19:57.740Z",
  "updated": "2011-07-28T21:29:42.015Z",
  "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953/posts/6069922188027612413/comments/9200761938824362519",
  "content": "elided",
  "author": {
    "id": "530579030283",
    "displayName": "elided",
    "url": "elided",
    "image": {
      "url": "elided"
    }
  }
}

Sayfalarla Çalışma

Bir Blog için Sayfa Alma

Sayfa Koleksiyonu URI'sına bir GET isteği göndererek Blog Sayfalarının listesini alabilirsiniz. Bir Sayfa Koleksiyonu'na ilişkin URI aşağıdaki biçimdedir:

https://www.googleapis.com/blogger/v2/blogs/blogId/pages

İstek

Örnek:

GET https://www.googleapis.com/blogger/v2/blogs/4967929378133675647/pages&key=YOUR-API-KEY

Kullanıcının Sayfaları herkese açık bir Blog'dan alması için kullanıcının kimliğinin doğrulanması gerekmez. Bu nedenle, bu GET isteğiyle Authorization HTTP üst bilgisini sağlamanız gerekmez; ancak bu başlığı sağlamazsanız bir API anahtarı sağlamanız gerekir.

Blogger'da kimlik doğrulama gerektiren özel Blog'lar da vardır.

Yanıt

İstek başarılı olursa sunucu bir HTTP 200 OK durum kodu ve Sayfalar listesiyle yanıt verir:

200 OK

{
  "kind": "blogger#pageList",
  "items": [
    {
      "kind": "blogger#page",
      "id": "273541696466681878",
      "blog": {
        "id": "4967929378133675647"
      },
      "published": "2011-07-14T16:16:00.000Z",
      "updated": "2011-07-14T16:16:23.602Z",
      "url": "http://brettmorgan-test-blawg.blogspot.com/p/static-content.html",
      "selfLink": "https://www.googleapis.com/blogger/v2/blogs/4967929378133675647/pages/273541696466681878",
      "title": "Static Content",
      "content": "elided for readability",
      "author": {
        "id": "901569848744",
        "displayName": "brett",
        "url": "http://www.blogger.com/profile/16258312240222542576",
        "image": {
          "url": "https://resources.blogblog.com/img/b16-rounded.gif"
        }
      }
    }
  ]
}

Belirli Bir Sayfayı Alma

Bir Blog'dan Sayfa Kaynak URI'sına GET isteği göndererek belirli bir Sayfayı getirebilirsiniz. Bir Sayfalar Kaynağının URI'sı aşağıdaki biçimdedir:

https://www.googleapis.com/blogger/v2/blogs/blogId/pages/pageId

İstek

Örnek:

GET https://www.googleapis.com/blogger/v2/blogs/4967929378133675647/pages/273541696466681878&key=YOUR-API-KEY

Kullanıcının Sayfaları herkese açık bir Blog'dan alması için kullanıcının kimliğinin doğrulanması gerekmez. Bu nedenle, bu GET isteğiyle Authorization HTTP üst bilgisini sağlamanız gerekmez; ancak bu başlığı sağlamazsanız bir API anahtarı sağlamanız gerekir.

Blogger'da kimlik doğrulama gerektiren özel Blog'lar da vardır.

Yanıt

İstek başarılı olursa sunucu bir HTTP 200 OK durum kodu ve sayfa verileriyle yanıt verir:

200 OK

{
  "kind": "blogger#page",
  "id": "273541696466681878",
  "blog": {
    "id": "4967929378133675647"
  },
  "published": "2011-07-14T16:16:00.000Z",
  "updated": "2011-07-14T16:16:23.602Z",
  "url": "http://brettmorgan-test-blawg.blogspot.com/p/static-content.html",
  "selfLink": "https://www.googleapis.com/blogger/v2/blogs/4967929378133675647/pages/273541696466681878",
  "title": "Static Content",
  "content": "elided for readability",
  "author": {
    "id": "901569848744",
    "displayName": "brett",
    "url": "http://www.blogger.com/profile/16258312240222542576",
    "image": {
      "url": "https://resources.blogblog.com/img/b16-rounded.gif"
    }
  }
}

Kullanıcılarla Çalışma

Kullanıcı Alma

Bir kullanıcının bilgilerini, Kullanıcılar Kaynak URI'sına bir HTTP GET isteği göndererek alabilirsiniz:

https://www.googleapis.com/blogger/v2/users/userId

İstek

Bir kullanıcının bloglarını listeleyen GET isteği örneğini burada bulabilirsiniz:

GET https://www.googleapis.com/blogger/v2/users/self
Authorization: /* OAuth 2.0 token here */

Not: Kendi bilgilerinin listelenmesi için kullanıcının kimliğinin doğrulanması gerekir. Bu nedenle, GET isteğiyle Authorization HTTP üst bilgisini sağlamanız gerekir.

Yanıt

İstek başarılı olursa sunucu bir HTTP 200 OK durum kodu ve kullanıcının blog listesinin bağlantısıyla yanıt verir:

200 OK

{
  "kind": "blogger#user",
  "id": "901569848744",
  "selfLink": "https://www.googleapis.com/blogger/v2/users/901569848744",
  "blogs": {
    "selfLink": "https://www.googleapis.com/blogger/v2/users/901569848744/blogs"
  }
}

Standart sorgu parametreleri

Aşağıdaki sorgu parametreleri, Blogger API'lerindeki tüm yöntemler ve kaynaklarla kullanılabilir.

Tüm Blogger API'leri işlemleri için geçerli olan sorgu parametreleri Sistem Parametreleri bölümünde açıklanmıştır.