- Google Data API nedir?
- Özellik isteğim veya hata raporum var. Nerelerde içerik yayınlamalıyım?
- Belirli bir API’de nerede soru sormalıyım?
- JSON nedir?
- XML kullanmam gerekir mi? Başka veri biçimleri var mı?
- Neden REST kullanıyorsunuz?
- Sık karşılaşılan sorunlar için ipuçları veya kısa örnek kodlar var mı?
- Gmail'de Data API var mı?
- Her Data API için ClientLogin'deki hizmet adı nedir?
- Kullanıcı bir uygulamadan çıkış yaptığında API sunucularına bilgi verilmesi gerekir mi?
- Bir ClientLogin kimlik doğrulama jetonunun geçerlilik bitiş tarihi var mı?
- Google Hesapları hakkında genel bir sorum var. Nereye gitmeliyim?
- API'de nasıl kimlik doğrulaması yapabilirim?
- AuthSub/OAuth 1 kapsam parametresi için hangi değeri kullanmalıyım?
- Farklı AuthSub jetonları var mı? Jetonların süresi dolar mı?
- ClientLogin ile AuthSub/OAuth 1 arasındaki temel fark nedir?
- Üçüncü taraf web uygulamalarında ClientLogin kimlik doğrulamasını kullanabilir miyim?
- CAPTCHA nedir?
- CAPTCHA testini nasıl oluşturabilirim?
- Web uygulamamda ClientLogin'i kullanmalı mıyım?
- AuthSub/OAuth 1 kullanırken kullanıcının kullanıcı adını nasıl öğrenebilirim?
- OAuth 1'i Google Data API istemci kitaplıklarıyla nasıl kullanırım?
- AuthSub'ı Google Data API istemci kitaplıklarıyla nasıl kullanırım?
- ClientLogin'i Google Data API istemci kitaplıklarıyla nasıl kullanırım?
- İstemciler, hangi programlama dillerinde Google tarafından destekleniyor?
- Google Veri İstemcisi kitaplıklarından biriyle ilgili hata veya özellik isteğini nasıl bildirebilirim?
- İstemci kitaplıklarında hata ayıklama seçeneklerini nasıl etkinleştiririm?
- İstemci kitaplığı sınıflarıyla ilgili referans dokümanları nerede bulabilirim?
- HTTP hata ayıklama için hangi iyi araçlar bulunur?
- Java istemci kitaplığında HTTP günlük bilgilerini nasıl alabilirim?
- .NET istemci kitaplığında HTTP günlük bilgilerini nasıl alabilirim?
- gzip kodlamasını Google Veri feed'lerinden nasıl etkinleştirebilirim?
- PHP istemcisi kullanırken neden "Sslv2'ye Bağlanılamıyor" hatası görüyorum?
- Bir feed'i açıklayan Atom hizmet dokümanını nasıl edinebilirim?
Genel bakış
Kimlik doğrulama
İstemci Kitaplıkları
Sorun giderme
Genel bakış
- Google Veri API'sı nedir?
-
Google Data API, Google Veri protokolüne dayalı bir API'dir. Google Veri protokolü, Atom 1.0 ve RSS 2.0 sendikasyon biçimlerini ve Atom Yayınlama Protokolü'nü (APP) temel alır.
Google Veri protokolü, standartlarda yerleşik olarak bulunan uzantı mekanizmalarını kullanarak bu standartları çeşitli yöntemlerle genişletir. Feed'ler, Atom veya RSS sendikasyon biçimlerine uygundur. Yayınlama modeli, Atom Yayınlama Protokolü'ne uygundur.
Protokol ayrıca feed'ler, sorgular ve sonuçlar için genel bir model de sunar. Herhangi bir Data API'ye sorgu ve güncelleme göndermek için bu API'yi kullanabilirsiniz.
- Özellik isteğim veya hata raporum var. Nerelerde yayınlamalıyım?
- Sorun izleyicimize göz atın. Destek talebinizi ekleyip durumu hakkında güncellemeler almak için özellik isteğinizi arayın ve yıldız ekleyin.
- Belirli bir API'de nerede soru sormalıyım?
- Sorununuz burada listelenmiyorsa veya daha fazla açıklama istiyorsanız her Google Data API'sine özel tartışma grupları vardır:
- G Suite (G Suite ailesindeki bağımsız API'leri inceleyin)
- Base
- Blogger
- Takvim
- Google Code Search
- Kişiler
- Google Sites
- E-tablolar
- Dokümanlar Listesi
- Birleşik Giriş / OpenID
- Finans
- Sağlık
- Picasa Web Albümleri
- Web Yöneticisi Araçları
- YouTube
- JSON nedir?
-
JSON, JavaScript Object Notation anlamına gelir.
JSON, sadeliği web geliştiricileri arasında yaygın şekilde kullanılan bir veri değişim biçimidir. Okuması ve yazması kolaydır. Bunları herhangi bir programlama dili kullanarak ayrıştırabilirsiniz. Yapıları doğrudan çoğu programlama dilinde kullanılan veri yapılarıyla eşlenir.
Google Veri API'leriyle JSON kullanma hakkında daha fazla bilgi edinin.
- XML kullanmam gerekir mi? Başka veri biçimleri var mı?
- Google Veri API'lerinin varsayılan veri biçimi, Atom özet akışı biçiminde XML'dir. Ancak bir feed isteğinde bulunurken,
alt
sorgu parametresini kullanarak alternatif bir biçim belirtebilirsiniz.-
alt=rss
Yanıt verileri RSS özet akışı olarak biçimlendirilir. -
alt=json
veyaalt=json-in-script
Atom özet akışının XML yapısının JSON gösterimini döndürür. JavaScript'in ek avantajı, JavaScript müşteri kodunda "ayrıştırılmasının" daha kolay olmasıdır. Şu anda JSON kullanımı yalnızca salt okuma seçeneği olarak mevcuttur. Ancak, JavaScript istemci kitaplığının Blogger, Kişiler veya Takvim hizmetleriyle birlikte kullanılması, verilerin okunmasına ve yazılmasına olanak tanır.JSON feed'leri isteme ve kullanma hakkında daha fazla bilgi edinin.
-
alt=atom-in-script
alt=json-in-script
işlevine benzer, ancak sonuçlar JSON yerine bir Atom XML dizesi olarak döndürülür. -
alt=rss-in-script
alt=atom-in-script
işlevine benzer, ancak sonuçlar Atom yerine RSS XML dizesi olarak döndürülür.
Google Veri Referans Kılavuzu'ndan alternatif biçimler hakkında daha fazla bilgi edinebilirsiniz.
-
- REST'i neden kullanıyorsunuz?
- REST; basit, hafif, ölçeklenebilir olup verileri temsil etme ve gösterme açısından son derece başarılıdır.
- Sık karşılaşılan sorunlar için ipuçları veya kısa örnek kodlar var mı?
- Hem istemci kitaplıklarımız hem de ham istekler oluşturma konusunda yardım almak için Google Veri API'si İpuçları Blogu'na göz atmanız gerekir.
- Gmail'in bir Veri API'sı var mı?
-
Hayır, ancak kullanıcının okunmamış mesajlarına salt okuma erişimi istemek için Gmail'in Atom özet akışını AuthSub veya OAuth 1 ile kullanabilirsiniz. Kapsam
https://mail.google.com/mail/feed/atom/
olarak ayarlanmalıdır. Örnek bir sorgu:GET https://mail.google.com/mail/feed/atom/
Postalarınızı yönetmek istiyorsanız Gmail'in IMAP/POP desteği de vardır.
- Her bir Data API için ClientLogin'deki hizmet adı nedir?
- "Hizmet adı", ClientLogin kimlik doğrulama sisteminin bir Google hizmetini tanımlamak için kullandığı kısa bir dizedir.
Google API'si Hizmet adı Google Analytics Veri API'leri analytics
G Suite API'leri
(Alan Adı Bilgileri ve Yönetimi)apps
Google Sites Veri API'sı jotspot
Blogger Veri API'sı blogger
Book Search Veri API'si print
Takvim Veri API'sı cl
Google Code Search Veri API'sı codesearch
Kişiler Veri API'sı cp
Content API for Shopping structuredcontent
Dokümanlar Listesi Veri API'sı writely
Finans Verileri API'sı finance
Gmail Atom feed'i mail
Health Data API'si health
weaver
(H9 korumalı alanı)Haritalar Veri API'leri local
Picasa Web Albümleri Veri API'sı lh2
Sidewiki Veri API'sı annotateweb
E-tablolar Veri API'sı wise
Web Yöneticisi Araçları API'si sitemaps
YouTube Data API youtube
ClientLogin isteğinde kullanılan diğer parametreler hakkında daha fazla bilgi edinmek için ClientLogin dokümanlarına bakın.
- Kullanıcılar bir uygulamadan çıkış yaptığında API sunucularına bilgi verilmesi gerekir mi?
- Hayır, bir kullanıcı uygulamadan çıkış yaptığında Google Data API'yi bilgilendirmek gerekmez. Ancak, uygulamanızın artık yayınlanan bir AuthSub jetonu kullanması gerekmiyorsa jetonu iptal etmesi gerekir.
- ClientLogin kimlik doğrulama jetonunun geçerlilik bitiş tarihi var mı?
- ClientLogin jetonu sorunun verildiği tarihten itibaren 2 hafta sürebilir, ancak bu sınır hizmete özgüdür ve daha kısa olabilir.
- Google Hesapları hakkında genel bir sorum var. Nereye gitmeliyim?
- Google Hesapları Yardım Merkezi'ni ziyaret edin.
- HTTP isteğinizde ClientLogin, AuthSub veya OAuth 1 kullanılarak alınan bir jetonu içeren bir Yetkilendirme başlığı olmalıdır.
- AuthSub/Oauth 1 kapsam parametresi için hangi değeri kullanmalıyım?
- AuthSub ve OAuth 1, uygulamanızın hangi Google hizmetlerine erişeceğini belirlemek için bir
scope
parametresi gerektirir. OAuth 2.0 hakkında ayrıntılı bilgi için ilgili API'nizin dokümanlarına bakın.Google API'si ClientLogin Hizmet Adı Google Analytics Data API https://www.google.com/analytics/feeds/
Google Sites Veri API'sı http(s)://sites.google.com/feeds/
Blogger Veri API'sı http://www.blogger.com/feeds/
Book Search Veri API'si http://www.google.com/books/feeds/
Takvim Veri API'sı http(s)://www.google.com/calendar/feeds/
Kişiler Veri API'sı http(s)://www.google.com/m8/feeds/
Content API for Shopping https://www.googleapis.com/auth/structuredcontent
Dokümanlar Listesi Veri API'sı http(s)://docs.google.com/feeds/
Finans Verileri API'sı http://finance.google.com/finance/feeds/
Gmail Atom feed'i https://mail.google.com/mail/feed/atom/
Health Data API'si https://www.google.com/health/feeds/
https://www.google.com/h9/feeds/
(H9 korumalı alanı)Haritalar Veri API'sı http://maps.google.com/maps/feeds/
Picasa Web Albümleri Veri API'sı http://picasaweb.google.com/data/
Portable Contacts API http://www-opensocial.googleusercontent.com/api/people
Sidewiki Veri API'sı http://www.google.com/sidewiki/feeds/
E-tablolar Veri API'sı http(s)://spreadsheets.google.com/feeds/
Web Yöneticisi Araçları API'si http://www.google.com/webmasters/tools/feeds/
YouTube Data API http://gdata.youtube.com
- Farklı AuthSub jeton türleri var mı? Jetonların süresi dolar mı?
- İki tür AuthSub jetonu vardır. İlki, "token" sorgu parametresiyle web uygulamanıza sunulan tek kullanımlık jetondur. Bu jetonun süresi, verildiği hizmetle ilk kez kullanıldığında veya bir oturum jetonuyla değiştirildiğinde sona erer.
Jeton, kullanıcı veyaAuthSubRevokeToken
API çağrısı aracılığıyla açıkça iptal edilmediği sürece geçerlilik süresi dolmaz. Bir oturum jetonu karşılığında yalnızca orijinalAuthSubRequest
URL'sinin sorgudasession=1
olarak belirtildiği durumlarda tek bir jeton kullanılabilir. - ClientLogin ile AuthSub/OAuth 1 arasındaki temel fark nedir?
-
AuthSub web uygulamaları için tasarlanmıştır. Kullanıcı kimlik bilgilerinin üçüncü taraf bir web sitesi yerine doğrudan kullanıcının web tarayıcısından güvenli bir şekilde Google sunucularına gönderilmesini sağlar.
ClientLogin, yüklü masaüstü uygulamaları içindir. İstekte bulunan uygulamanın, kullanıcı kimlik bilgilerini kullanıcı adına Google'a iletmesi gerekir.
Google Account Authentication API ile ilgili belgelere bakın.
- ClientLogin kimlik doğrulamasını üçüncü taraf web uygulamalarında kullanabilir miyim?
- ClientLogin'i üçüncü taraf web uygulamalarında kullanmak kabul edilebilir ancak önerilmez. En iyi uygulama olarak, web uygulaması hiçbir zaman kullanıcılardan giriş kimlik bilgilerini istememelidir (bu, gözetlemeye açık olabilir). Bunun yerine bir uygulama, kullanıcı kimlik bilgilerini sunucu tarafında saklamalı ve her zaman Google ile kimlik doğrulamak için kullanılan tek bir "hizmet hesabı"na sahip olmalıdır.
- CAPTCHA nedir?
- CAPTCHA (İnsan ve Bilgisayar Ayrımı Amaçlı Tam Otomatik Genel Turing Testi), kullanıcının insan olup olmadığını belirlemek için kullanılan bir meydan okuma testi türüdür. Terim, Carnegie Mellon Üniversitesi'nin ticari markasıdır. Daha fazla bilgi için Wikipedia'ya bakın. ClientLogin'de CAPTCHA uyguladık.
- CAPTCHA testini nasıl oluşturabilirim?
- Kimlik doğrulama sırasında CAPTCHA sorgulamasının ne zaman gerekli olduğunu belirlemek için özel bir algoritma kullanılır. Hatalı kimlik bilgilerine sahip tekrarlanan kimlik doğrulama denemeleri genellikle bir CAPTCHA sorgulaması oluşturur.
- ClientLogin'i web uygulamamda kullanmalı mıyım?
- Hayır. ClientLogin, kullanıcıya ait donanımlardaki yüklü uygulamalar tarafından kullanılmalıdır. ClientLogin API'sının web uygulamalarında kullanılması güvenli değildir ve kesinlikle önerilmez.
- AuthSub/OAuth 1 kullanırken kullanıcının kullanıcı adını nasıl öğrenebilirim?
- Google'dan size yalnızca kullanıcının özet akışlarına erişim izni veren bir jeton verildiğinden, kullanıcı adının ne olduğunu bilemeyebilirsiniz. Bu durum, kullanmak istediğiniz özet akışı URL'si kullanıcı adının bir parçası olarak bulunması soruna neden olabilir. Bu durumda, "kimlik doğrulama jetonunu kullandığım kullanıcı" anlamına gelen
default
özel kullanıcı adını kullanabilirsiniz. - OAuth 1'i Google Data API istemci kitaplıklarıyla nasıl kullanırım?
- OAuth 1'i Google Data API İstemci Kitaplıklarıyla kullanma başlıklı makaleyi inceleyin.
- AuthSub'ı Google Data API istemci kitaplıklarıyla nasıl kullanırım?
- Google Data API İstemci Kitaplıklarıyla AuthSub'ı kullanma makalesine bakın.
- ClientLogin'i Google Data API istemci kitaplıklarıyla nasıl kullanırım?
- Google Data API İstemci Kitaplıklarıyla ClientLogin'i kullanma başlıklı makaleyi inceleyin.
- İstemci kitaplıkları hangi programlama dillerinde Google tarafından destekleniyor?
-
Java, .NET, Python ve Objective-C istemci kitaplıkları Google tarafından resmi olarak desteklenir. İş ortağımız Zend bir de PHP istemci kitaplığı yazdı. Bu kitaplıkları kullanarak Google Veri Protokolü istekleri oluşturabilir, bunları bir hizmete gönderebilir ve sunucu yanıtlarını işleyebilirsiniz. Ayrıca şu anda yalnızca Blogger, Takvim ve Google Kişiler'i destekleyen bir JavaScript istemci kitaplığı da vardır.
Java, .Net, Python veya Objective-C dışında bir dilde istemci kitaplığı yazıyor ve Data API geliştirici topluluğuyla paylaşmak istiyorsanız bunu Google Veri API'ları tartışma grubunda yayınlayın. Görüşlerinizi öğrenmekten memnuniyet duyarız.
- İstemci kitaplıklarından biriyle ilgili hata veya özellik isteğini nasıl bildirebilirim?
-
İstemci kitaplıklarıyla ilgili hatalar veya özellik istekleri aşağıdaki konumlardan bildirilebilir:
Hatanızı yayınladıktan sonra geliştirici forumundan uygun API için bir mesaj dizisi oluşturun.
- Google Data API istemci kitaplıklarında hata ayıklama seçeneklerini nasıl etkinleştiririm?
- Bazı istemci kitaplıklarıyla hata ayıklamayı etkinleştirme hakkında daha fazla bilgi edinmek için lütfen şu makaleyi inceleyin: Google Data API İstemcilerinde Hata Ayıklama: Programınızdan Trafiği Keşfetme
- İstemci kitaplığı sınıfları için referans dokümanları nerede bulabilirim?
-
İstemci kitaplığı Referans Rehberi Java Javadoc JavaScript JSdoc .NET Yeni Belge PHP csvBelgesi Python PyDok - HTTP hata ayıklama için hangi iyi araçlar bulunur?
-
Aşağıda listelenen çeşitli araçlar olmakla birlikte WireShark ve Fiddler'ın ayrıntılı örneklerini açıklayan The Wire: Network Capture Tools for API Geliştiricileri makalesini de okuyabilirsiniz.
- Wireshark
- Wireshark bir "ağ protokolü analizcisi"dir. Ağ trafiğini yakalama ve içeriği analiz etme olanağı sağlar. HTTP isteğine ve yanıt akışlarına doğrudan erişiminizin olmadığı kitaplıklarda gerçekleşen trafikteki hataları ayıklamak için oldukça kullanışlıdır. Uygulamanız ile kimlik doğrulama hizmetleri arasındaki trafik, iletişim SSL kullanılarak şifrelendiğinden Wireshark kullanılarak analiz edilemez. Wireshark, tcpdump gibi araçlar kullanılarak yakalanan trafiği analiz etmek için de kullanılabilir. Wireshark, geliştiricilerden hem kaynak kodu hem de Windows yükleyici olarak sunulur. Üçüncü taraf paketleri birçok platformda kullanılabilir.
- Çim biçme
- Fiddler "HTTP hata ayıklama proxy'sidir". Kodunuzu veya çalışma zamanı ortamınızı HTTP trafiği için bir proxy sunucu kullanacak şekilde yapılandırabilirsiniz. Fiddler, uygulamanız ile Google Veri hizmetleri arasında yer alır. Böylece trafiği inceleyebilirsiniz. Fiddler 2, SSL desteği içerir. Fiddler şu anda yalnızca Windows ile kullanılabilir.
- cURL
- cURL, HTTP/HTTPS istekleri yapabilen bir komut satırı aracıdır. İstemcide HTTP desteği oluşturmak zorunda kalmadan bir hizmetle etkileşimleri hızlıca test etmek için oldukça kullanışlıdır.
- Java istemci kitaplığında HTTP günlük bilgilerini nasıl alabilirim?
-
Java istemci kitaplıkları, HTTP isteklerinin günlüğe kaydedilmesini etkinleştirmek için
java.util.logging
paketini kullanır. Bu, durum ve istek URL'lerinin yanı sıra istekler ve yanıtlar için başlıkların günlüğe kaydedilmesini etkinleştirebilmenizi sağlar. Şu anda isteğin ve yanıt akışlarının tamamını kaydetmemektedir. Bu günlükler için kullanılan günlük kaydı adıcom.google.gdata.client.http.HttpGDataRequest
.Sunuculardan bir hata kodu döndürülürse bir İstisna gönderilir. İstisna sınıfları
com.google.gdata.util.ServiceException
öğesinden devralınır vegetResponseBody()
adlı herkese açık bir yöntem içerir. Daha fazla bilgi için Javadoc sayfasına göz atın. - HTTP günlük kaydı bilgilerini .NET istemci kitaplığında nasıl edinebilirim?
- İzleme politikası etkinse .NET kitaplığı, yürütme yolunu günlüğe kaydetmek için
System.Diagnostics
izleme yöntemlerini kullanır. Ayrıca, bir hata olması durumundaGDataRequestException
atılır. İstisna, HTTP yanıtının gövdesine erişmenize olanak tanıyan birResponseString
içerir. - Google Veri feed'lerinden gzip kodlamasını nasıl etkinleştirebilirim?
-
Google Veri API'lerinin birinden gzip kodlu bir yanıt almak için iki şey yapmanız gerekir: Bir "Accept-Encode" başlığı ayarlayın ve kullanıcı aracınızı "gzip" dizesini içerecek şekilde değiştirin. Uygun şekilde oluşturulmuş başlıklara örnek:
User-Agent: my program (gzip) Accept-Encoding: gzip
- PHP istemcisini kullanırken neden "Sslv2'ye bağlanılamıyor" hatası görüyorum?
-
Temmuz 2009'dan itibaren, güvenliği artırmaya yönelik bir önlem olarak sunucularımızda SSLv2'yi devre dışı bırakmaya başladık. Temmuz 2007'den önce (sürüm 1.0.0 ve daha eski) kullanıma sunulan, PHP istemci kitaplığının ilk sürümlerinde maalesef bağlantıları SSLv2 kullanmaya zorlayan bir hata bulunuyordu. SSLv2'nin devre dışı olduğu bir sunucuya bağlanmak, aşağıdaki hataya neden olur:
PHP Fatal error: Uncaught exception 'Zend_Http_Client_Adapter_Exception' with message 'Unable to Connect to sslv2://www.google.com:443.'
Bu hatayı düzeltmek için http://framework.zend.com/download sayfasından edinebileceğiniz yeni bir PHP istemci kitaplığı sürümüne geçin.
Aşağıdaki yeni kodu uygulamanıza ekleyerek daha yeni bir sürüme geçemiyorsanız
$gdata
mevcutZend_Gdata
örneğiniz (veya uygun alt sınıf) olabilir.$gdata->getHttpClient()->setConfig(array('ssltransport' => 'ssl'));
- Feed'leri açıklayan Atom hizmet dokümanını nasıl edinebilirim?
-
İstekte
alt=atom-service
parametresini ileterek Atom hizmet dokümanını edinebilirsiniz. Not: Google Veri API'lerinin yalnızca 2. sürümü, AtomPub hizmet dokümanı söz dizimine uygun bir hizmet dokümanı döndürür. Google Veri API'lerinin 1. sürümü hizmet belgesi döndürmeye devam etse de daha eski AtomPub taslak spesifikasyonunu temel almaktadır (iki sürüm arasında söz dizimi ve ad alanı değişiklikleri vardır).
Kimlik doğrulama
Google Veri API'leri belgelerinde "OAuth" OAuth 1 anlamına gelir; OAuth 2.0 ayrıntıları için bağımsız API'nizin dokümanlarına bakın.