Ö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:
- 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.
- Google API Konsolu'nun Hizmetler bölmesinde Blogger JSON API'yi etkinleştirin. (API, Konsolu'nda listelenmemişse bu adımı atlayın.)
- Uygulamanız kullanıcı verilerine erişmesi gerektiğinde Google'dan belirli bir erişim kapsamı ister.
- 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.
- Kullanıcı onaylarsa Google, uygulamanıza kısa süreli bir erişim jetonu verir.
- Uygulamanız, erişim jetonunu isteğe ekleyerek kullanıcı verileri için istekte bulunur.
- 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 GET
istekle 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 GET
istekle 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 GET
istekle 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 GET
istekle 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 GET
istekle 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 GET
istekle 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.