Blogger JSON API: API'yi Kullanma

Önemli: JSON API 2.0 sürümüne yönelik desteği 30 Eylül 2024'te sonlandıracağız. İşlevselliğin etkinlenmemesi için JSON API'nin 2.0 sürümünü 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 belgede, RESTful çağrı stilini kullanarak Blogger JSON API'nin ortak özelliklerinin nasıl kullanılacağı açıklanmaktadır.

İçindekiler

Giriş

Bu doküman, Blogger JSON API ile etkileşim kurabilen uygulamalar yazmak isteyen geliştiriciler için hazırlanmıştır. Blogger, kullanıcıların düşüncelerini sürekli olarak yayınlamasına olanak tanıyan web siteleri oluşturmaya yönelik bir araçtır.

Blogger kavramlarına aşina değilseniz kodlamaya başlamadan önce Başlangıç bölümünü okumanız önerilir.

İ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 (isteği de yetkilendirir) ve/veya uygulamanın API anahtarı. Hangi seçenekleri kullanacağınızı belirlemek için aşağıdaki adımları uygulayın:

  • İstek yetkilendirme gerektiriyorsa (ör. bir kişinin gizli verileri için istek) uygulamanın istekle birlikte bir OAuth 2.0 jetonu sağlaması gerekir. Uygulama, API anahtarını da sağlayabilir ancak bunu yapmak zorunda değildir.
  • İstek yetkilendirme gerektirmiyorsa (ör. herkese açık veriler için istek) uygulama, API anahtarını veya OAuth 2.0 jetonunu ya da sizin için en uygun seçeneği (ikisi birden) 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 şu anda veri erişimi isteğinde bulunurken (karma) veya alan genelinde yetki verme (2LO) işlemi sırasında oturum açmayı desteklemiyor.

OAuth 2.0 ile istekleri yetkilendirme

Herkese açık olmayan kullanıcı verileri için Blogger JSON API'ye gönderilen isteklerin, kimliği doğrulanmış bir kullanıcı tarafından yetkilendirilmesi gerekir.

OAuth 2.0 ile 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 işlem tüm uygulama türleri için geçerlidir:

  1. Uygulamanızı oluştururken 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 Konsolu'nun Hizmetler bölmesinde Blogger JSON API'yi etkinleştirin. (API, Konsolu'nda listelenmemişse 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ı verileri için istekte bulunur.
  7. Google, isteğinizin ve jetonun geçerli olduğuna kanaat getirirse istenen verileri döndürür.

Bazı akışlarda başka adımlar da yer alır. Örneğin, yeni erişim jetonları almak için yenileme jetonları kullanmak. Farklı 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'si için OAuth 2.0 kapsam bilgileri şöyledir:

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ında Google tarafından sağlanan 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 yerinize gerçekleştirebilir. Bu kitaplıklar çeşitli programlama dilleri için kullanıma sunulmuştur. Ayrıntılar için Kitaplıklar ve Örnekler sayfasını inceleyin.

API anahtarı edinme ve kullanma

Herkese açık veriler için Blogger JSON API'sine yapılan isteklerin bir tanımlayıcıyla (API anahtarı veya kimlik doğrulama jetonu olabilir) birlikte gönderilmesi gerekir.

API anahtarı edinmek için API'ler Konsolu'nu ziyaret edin. Hizmetler bölmesinde [api_name] hizmetini etkinleştirin. Hizmet Şartları gösterilirse bunları okuyup kabul edin.

Ardından API erişimi bölmesine gidin. API anahtarı, bu bölmenin alt kısmındaki "Basit API Erişimi" başlıklı bölümde yer alır.

API anahtarınız olduktan sonra uygulamanız, tüm istek URL'lerine key=yourAPIKey sorgu parametresini 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'sine bir HTTP isteği göndererek belirli bir Blog Kaynağı ile ilgili bilgileri alabilirsiniz.GET Blog kaynağının URI'si aşağıdaki 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 bir blogu almak için kimliğinin doğrulanması gerekmediğinden, bu GET istekle birlikte Authorization HTTP üstbilgisini sağlamanız gerekmez. Ancak bu üstbilgiyi sağlamazsanız bir API anahtarı sağlamanız gerekir.

Blogger'da kimlik doğrulama gerektiren özel bloglar 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

Blog Koleksiyonu URI'sine 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

Kullanıcının bloglarını listeleyen bir GET isteği örneğini aşağıda bulabilirsiniz:

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

Not: Kullanıcının kendi bloglarını listelemesi için kimlik doğrulaması yapılmış olması gerekir. Bu nedenle, GET isteğiyle birlikte Authorization HTTP üstbilgisini sağlamanız gerekir.

Yanıt

İstek başarılı olursa sunucu bir HTTP 200 OK durum kodu ve kullanıcının bloglarının 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 yayınlarını alma

Yayınlar Koleksiyonu URI'sine bir GET isteği göndererek belirli bir blogdaki yayınların listesini alabilirsiniz. Yayınlar Koleksiyonu'nun URI'si 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 blogdaki yayınları almak için kimliğinin doğrulanması gerekmediğinden bu GETistekle birlikte Authorization HTTP üst bilgisini sağlamanız gerekmez. Ancak bu üstbilgiyi sağlamazsanız bir API anahtarı sağlamanız gerekir.

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

Yanıt

İstek başarılı olursa sunucu, HTTP 200 OK durum kodu ve Yayınlar listesi ile 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 Kaynak URI'sine GET isteği göndererek bir blogdaki belirli bir yayını alabilirsiniz. Yayınlar kaynağının URI'si aşağıdaki biçime sahiptir:

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 blogdaki yayınları almak için kimliğinin doğrulanması gerekmediğinden bu GETistekle birlikte Authorization HTTP üst bilgisini sağlamanız gerekmez. Ancak bu üstbilgiyi sağlamazsanız bir API anahtarı sağlamanız gerekir.

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

Yanıt

İstek başarılı olursa sunucu, HTTP 200 OK durum kodu 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"
  }
}

Yorumlarla çalışma

Bir Yayındaki Yorumları Alma

Yorumlar Koleksiyonu URI'sine bir GET isteği göndererek bir yayına ait yorumların listesini alabilirsiniz. Yorum koleksiyonunun URI'si aşağıdaki 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 blogdaki yorumları almak için kimlik doğrulamasının yapılması gerekmediğinden bu GETistekle birlikte Authorization HTTP üst bilgisini sağlamanız gerekmez. Ancak bu üstbilgiyi sağlamazsanız bir API anahtarı sağlamanız gerekir.

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

Yanıt

İstek başarılı olursa sunucu bir HTTP 200 OK durum kodu ve yorumların listesini döndürür:

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 yorumu alma

Yorumlar Kaynak URI'sine GET isteği göndererek bir yayındaki belirli bir yorumu alabilirsiniz. Yorum kaynağının URI'si aşağıdaki 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 blogdaki yorumları almak için kimlik doğrulamasının yapılması gerekmediğinden bu GETistekle birlikte Authorization HTTP üst bilgisini sağlamanız gerekmez. Ancak bu üstbilgiyi sağlamazsanız bir API anahtarı sağlamanız gerekir.

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

Yanıt

İstek başarılı olursa sunucu, 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"
    }
  }
}

Sayfalar ile çalışma

Bir blogun sayfalarını alma

Sayfalar Koleksiyonu URI'sine GET isteği göndererek bir blogun Sayfalar listesini alabilirsiniz. Sayfalar Koleksiyonu'nun URI'si aşağıdaki biçime sahiptir:

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, herkese açık bir blogdan sayfaları almak için kimliğinin doğrulanması gerekmediğinden bu GETistekle birlikte Authorization HTTP üst bilgisini sağlamanız gerekmez. Ancak bu üstbilgiyi sağlamazsanız API anahtarı sağlamanız gerekir.

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

Yanıt

İstek başarılı olursa sunucu bir HTTP 200 OK durum kodu ve sayfaların listesini döndürür:

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

Sayfalar Kaynak URI'sine GET isteği göndererek bir blogdaki belirli bir sayfayı alabilirsiniz. Sayfalar kaynağının URI'si aşağıdaki biçime sahiptir:

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, herkese açık bir blogdan sayfaları almak için kimliğinin doğrulanması gerekmediğinden bu GETistekle birlikte Authorization HTTP üst bilgisini sağlamanız gerekmez. Ancak bu üstbilgiyi sağlamazsanız API anahtarı sağlamanız gerekir.

Blogger'da kimlik doğrulama gerektiren özel bloglar 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ıyı alma

Kullanıcı Kaynak URI'sine bir HTTP GET isteği göndererek kullanıcının bilgilerini alabilirsiniz:

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

İstek

Kullanıcının bloglarını listeleyen bir GET isteği örneğini aşağıda bulabilirsiniz:

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

Not: Kullanıcının kendi bilgilerini listelemesi için kimliğinin doğrulanması gerekir. Bu nedenle, GET isteğiyle birlikte Authorization HTTP üstbilgisini sağlamanız gerekir.

Yanıt

İstek başarılı olursa sunucu bir HTTP 200 OK durum kodu ve kullanıcının bloglarının 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 tüm kaynaklarla kullanılabilir.

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