- Google Veri API'si nedir?
- Özellik isteğim veya hata raporum var. Nerede yayın yapmalıyım?
- Belirli bir API ile ilgili soruyu nereye sormalıyım?
- JSON nedir?
- XML kullanmam gerekiyor mu? Başka veri biçimleri var mı?
- Neden REST kullanıyorsunuz?
- Yaygın sorunlarla ilgili ipuçlarınız veya kısa örnek kodlarınız var mı?
- Gmail'in Veri API'si var mı?
- Her Veri API'si için ClientLogin'deki hizmet adı nedir?
- Kullanıcı bir uygulamadan çıkış yaptığında API sunucularını bilgilendirmek gerekli mi?
- ClientLogin kimlik doğrulama jetonunun geçerlilik bitiş tarihi var mı?
- Google Hesapları hakkında genel bir sorum var. Nereye gitmeliyim?
- API'de kimliğimi nasıl doğrulayabilirim?
- AuthSub/OAuth 1 kapsamı parametresi için hangi değeri kullanmalıyım?
- Farklı AuthSub jeton türleri 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 testi 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?
- Google Data API istemci kitaplıklarıyla OAuth 1'i nasıl kullanırım?
- Google Data API istemci kitaplıklarıyla AuthSub'ı nasıl kullanırım?
- ClientLogin'i Google Veri API'si istemci kitaplıklarıyla nasıl kullanırım?
- Google tarafından desteklenen istemci kitaplıkları hangi programlama dillerinde kullanılabilir?
- Google Data istemci 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ştirebilirim?
- İstemci kitaplığı sınıflarıyla ilgili referans dokümanlarını nerede bulabilirim?
- HTTP hatalarını ayıklamak için kullanılabilecek iyi araçlar nelerdir?
- Java istemci kitaplığında HTTP günlük kaydı bilgilerini nasıl alırım?
- .NET istemci kitaplığında HTTP günlük kaydı bilgilerini nasıl alabilirim?
- Google veri feed'lerinden gzip kodlamayı nasıl etkinleştirebilirim?
- PHP istemcisini kullanırken neden "sslv2'ye bağlanılamıyor" hatası alıyorum?
- Feed'i açıklayan Atom hizmet belgesini nasıl alabilirim?
Genel Bakış
Kimlik doğrulama
İstemci Kitaplıkları
Sorun giderme
Genel Bakış
- Google Veri API'si nedir?
-
Google Veri API'si, Google Veri protokolüne dayalı bir API'dir. Google Veri Protokolü, Atom 1.0 ve RSS 2.0 sendikasyon biçimlerinin yanı sıra Atom Yayınlama Protokolü'nü (APP) temel alır.
Google Veri Protokolü, standartlara yerleştirilmiş uzantı mekanizmalarını kullanarak bu standartları çeşitli şekillerde genişletir. Feed'ler Atom veya RSS sendikasyon biçimlerine uygundur. Yayınlama modeli, Atom Yayınlama Protokolü'ne uygundur.
Protokol, feed'ler, sorgular ve sonuçlar için genel bir model de sağlar. Herhangi bir Data API'ye sorgu ve güncelleme göndermek için kullanabilirsiniz.
- Özellik isteğim veya hata raporum var. Nerede yayınlamalıyım?
- Sorun izleyicimize göz atın. Özellik isteğinizi bulun ve desteklemek için isteği yıldızlayın. Böylece, isteğin durumuyla ilgili güncellemeler alırsınız.
- Belirli bir API ile ilgili soruyu nerede sorabilirim?
- Sorununuz burada listelenmemişse veya daha fazla açıklama istiyorsanız her Google Veri API'si için özel tartışma grupları vardır:
- G Suite (G Suite ailesindeki API'leri ayrı ayrı inceleyin)
- Base
- Blogger
- Takvim
- Code Search
- Kişiler
- Google Sites
- E-tablolar
- Belgeler 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'ı ifade eder.
JSON, basitliği sayesinde web geliştiriciler arasında yaygın olarak kullanılan, hafif bir veri değişimi biçimidir. Okuması ve yazması kolaydır. Herhangi bir programlama diliyle ayrıştırılabilir ve yapıları, çoğu programlama dilinde kullanılan veri yapılarıyla doğrudan eşlenir.
Google Veri API'leriyle JSON kullanma hakkında daha fazla bilgi edinin.
- XML kullanmak zorunda mıyım? Başka veri biçimleri var mı?
- Google Veri API'lerinin varsayılan veri biçimi, Atom feed'i şeklinde XML'dir. Ancak feed isteğinde bulunurken
alt
sorgu parametresini kullanarak alternatif bir biçim belirtebilirsiniz.-
alt=rss
Yanıt verileri RSS feed'i olarak biçimlendirilir. -
alt=json
veyaalt=json-in-script
Atom feed'in XML yapısının JSON gösterimini döndürür. JSON'ın ek avantajı, JavaScript istemci kodunda "ayrıştırılmasının" daha kolay olmasıdır. Şu anda JSON yalnızca salt okunur seçenek olarak kullanılabilir. Ancak JavaScript istemci kitaplığını Blogger, Kişiler veya Takvim hizmetleriyle kullanmak hem veri okuma hem de veri yazma işlemlerine olanak tanır.JSON feed'leri isteme ve kullanma hakkında daha fazla bilgi edinin.
-
alt=atom-in-script
alt=json-in-script
'ye benzer ancak sonuçlar JSON yerine Atom XML dizesi olarak döndürülür. -
alt=rss-in-script
alt=atom-in-script
'ye benzer ancak sonuçlar Atom yerine RSS XML dizesi olarak döndürülür.
Alternatif biçimler hakkında daha fazla bilgiyi Google Veri Referans Kılavuzu'nda bulabilirsiniz.
-
- REST'i neden kullanıyorsunuz?
- REST; basit, hafif, ölçeklenebilir ve verileri temsil etme ve kullanıma sunma konusunda çok iyi bir eşleme yapar.
- Sık karşılaşılan sorunlarla ilgili herhangi bir ipucunuz veya kısa örnek kodunuz var mı?
- Hem istemci kitaplıklarımız hem de ham istek oluşturma konusunda yardım almak için Google Veri API'si İpuçları Blogu'na göz atabilirsiniz.
- Gmail'in Data API'si var mı?
-
Hayır, ancak kullanıcının okunmamış iletilerine salt okunur erişim isteğinde bulunmak için Gmail'in Atom feed'ini AuthSub veya OAuth 1 ile birlikte 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'de IMAP/POP desteği de bulunur.
- ClientLogin'de her bir Veri API'si için 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 Data API'leri analytics
G Suite API'leri
(Alan Bilgileri ve Yönetimi)apps
Google Sites Data API jotspot
Blogger Data API blogger
Book Search Data API print
Calendar Data API cl
Google Code Search Data API codesearch
Contacts Data API cp
Content API for Shopping structuredcontent
Documents List Data API writely
Finance Data API finance
Gmail Atom feed'i mail
Health Data API health
weaver
(H9 korumalı alanı)Maps Data API'leri local
Picasa Web Albums Data API lh2
Sidewiki Data API annotateweb
Spreadsheets Data API wise
Webmaster Tools API sitemaps
YouTube Data API youtube
ClientLogin isteğinde kullanılan diğer parametreler hakkında daha fazla bilgi için ClientLogin dokümanlarına bakın.
- Kullanıcı bir uygulamadan çıkış yaptığında API sunucularını bilgilendirmek gerekli mi?
- Hayır, bir kullanıcı uygulamadan çıktığında Google Data API'yi bilgilendirmek gerekmez. Ancak uygulamanızın artık verilmiş bir AuthSub jetonunu kullanması gerekmiyorsa jetonu iptal etmesi gerekir.
- ClientLogin kimlik doğrulama jetonunun geçerlilik bitiş tarihi var mı?
- ClientLogin jetonları, veriliş tarihinden itibaren 2 hafta boyunca geçerli olabilir ancak bu sınır hizmete özeldir 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ğiniz, ClientLogin, AuthSub veya OAuth 1 kullanılarak elde edilen bir jeton içeren bir yetkilendirme üst bilgisi içermelidir.
- AuthSub/Oauth 1 kapsam parametresi için hangi değeri kullanmalıyım?
- A
scope
parametresi, AuthSub ve OAuth 1 tarafından uygulamanızın hangi Google hizmetlerine erişeceğini belirlemek için gereklidir. OAuth 2.0 ayrıntıları için kullandığınız API'nin dokümanlarına bakın.Google API'si ClientLogin Hizmet Adı Google Analytics Data API https://www.google.com/analytics/feeds/
Google Sites Data API http(s)://sites.google.com/feeds/
Blogger Data API http://www.blogger.com/feeds/
Book Search Data API http://www.google.com/books/feeds/
Calendar Data API http(s)://www.google.com/calendar/feeds/
Contacts Data API http(s)://www.google.com/m8/feeds/
Content API for Shopping https://www.googleapis.com/auth/structuredcontent
Documents List Data API http(s)://docs.google.com/feeds/
Finance Data API http://finance.google.com/finance/feeds/
Gmail Atom feed'i https://mail.google.com/mail/feed/atom/
Health Data API https://www.google.com/health/feeds/
https://www.google.com/h9/feeds/
(H9 korumalı alanı)Maps Data API http://maps.google.com/maps/feeds/
Picasa Web Albums Data API http://picasaweb.google.com/data/
Portable Contacts API http://www-opensocial.googleusercontent.com/api/people
Sidewiki Data API http://www.google.com/sidewiki/feeds/
Spreadsheets Data API http(s)://spreadsheets.google.com/feeds/
Webmaster Tools API 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. Birincisi, "token" sorgu parametresi aracılığıyla web uygulamanıza sunulan tek kullanımlık bir jetondur. Bu jeton, verildiği hizmetle ilk kez kullanıldığında veya oturum jetonuyla değiştirildiğinde sona erer.
Oturum jetonları, kullanıcı veyaAuthSubRevokeToken
API çağrısı aracılığıyla açıkça iptal edilmediği sürece geçerliliğini yitirmez. Tek kullanımlık jeton, yalnızca orijinalAuthSubRequest
URL'si sorgu parametresi olaraksession=1
belirtilmişse oturum jetonuyla değiştirilebilir. - ClientLogin ile AuthSub/OAuth 1 arasındaki temel fark nedir?
-
AuthSub, web uygulamaları için tasarlanmıştır. Bu özellik, kullanıcı kimlik bilgilerinin üçüncü taraf web sitesi üzerinden değil, doğrudan kullanıcının web tarayıcısından Google'ın sunucularına güvenli bir şekilde 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 Hesabı Kimlik Doğrulama API'si ile ilgili dokümanları inceleyin.
- Üçüncü taraf web uygulamalarında ClientLogin kimlik doğrulamasını kullanabilir miyim?
- Üçüncü taraf web uygulamalarında ClientLogin kullanılması kabul edilebilir ancak kesinlikle önerilmez. En iyi uygulama olarak, web uygulaması hiçbir zaman kullanıcıdan giriş kimlik bilgilerini istememelidir (bu, gözetlemeye karşı savunmasız olabilir). Bunun yerine, bir uygulama kullanıcı kimlik bilgilerini sunucu tarafında saklamalı ve Google ile kimlik doğrulamak için her zaman kullanılan tek bir "hizmet hesabı" 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 sorgulama-yanıt testidir. Bu terimin ticari markası Carnegie Mellon Üniversitesi'ne aittir. Daha fazla bilgiyi Wikipedia'da bulabilirsiniz. ClientLogin'e CAPTCHA'yı uyguladık.
- CAPTCHA testini nasıl oluştururum?
- Kimlik doğrulama sırasında CAPTCHA testi gerekip gerekmediğini belirlemek için özel bir algoritma kullanılır. Yanlış kimlik bilgileriyle yapılan tekrarlı kimlik doğrulama denemeleri genellikle CAPTCHA görevi oluşturur.
- Web uygulamamda ClientLogin'i kullanmalı mıyım?
- Hayır, ClientLogin, kullanıcılara ait donanımlara yüklenen uygulamalar tarafından kullanılmalıdır. ClientLogin API'nin 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 yalnızca kullanıcının feed'lerine erişim izni veren bir jeton aldığınız için kullanıcının kullanıcı adını bilmiyor olabilirsiniz. Kullanmak istediğiniz feed URL'si kullanıcı adını içeriyorsa bu durum sorun yaratabilir. Bu durumda, "kimlik doğrulama jetonunu kullandığım kullanıcı" anlamına gelen özel kullanıcı adı
default
'yı kullanabilirsiniz. - Google Data API istemci kitaplıklarıyla OAuth 1'i nasıl kullanırım?
- Google Veri API'si İstemci Kitaplıkları ile OAuth 1'i Kullanma başlıklı makaleye bakın.
- Google Data API istemci kitaplıklarıyla AuthSub'ı nasıl kullanırım?
- Google Data API İstemci Kitaplıkları ile AuthSub'ı Kullanma başlıklı makaleyi inceleyin.
- Google Data API istemci kitaplıklarıyla ClientLogin'i nasıl kullanırım?
- Google Data API İstemci Kitaplıkları ile ClientLogin'i Kullanma başlıklı makaleye bakın.
- Google tarafından desteklenen istemci kitaplıkları hangi programlama dillerinde kullanılabilir?
-
Java, .NET, Python ve Objective-C istemci kitaplıkları Google tarafından resmi olarak desteklenir. Ayrıca, iş ortağımız Zend bir 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ığı yazarsanız ve bunu Data API geliştirici topluluğuyla paylaşmak isterseniz Google Data API'leri 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 yerlerde bildirilebilir:
Hatanızı gönderdikten sonra, uygun API için geliştirici forumunda bir ileti dizisi oluşturun.
- Google Data API istemci kitaplıklarında hata ayıklama seçeneklerini nasıl etkinleştirebilirim?
- Bazı istemci kitaplıklarında hata ayıklamayı etkinleştirme hakkında bilgi için lütfen şu makaleye bakın: Google Veri API'si İstemcilerinde Hata Ayıklama: Programınızdaki Trafiği Keşfetme
- İstemci kitaplığı sınıflarıyla ilgili referans belgelerini nerede bulabilirim?
-
İstemci kitaplığı Referans Rehberi Java Javadoc JavaScript JSdoc .NET NDoc PHP phpDoc Python PyDoc - HTTP hatalarını ayıklamak için hangi araçlar kullanılabilir?
-
Aşağıda listelenen çeşitli araçlar vardır. Bununla birlikte, On the Wire: Network Capture Tools for API Developers (On the Wire: API Geliştiricileri İçin Ağ Yakalama Araçları) başlıklı makaleyi de okumak isteyebilirsiniz. Bu makalede, hem WireShark hem de Fiddler ile ilgili ayrıntılı örnekler açıklanmaktadır.
- Wireshark
- Wireshark, "ağ protokolü analiz aracıdır". Ağ trafiğini yakalama ve içeriği analiz etme olanağı sağlar. HTTP istek ve yanıt akışlarına doğrudan erişiminizin olmadığı kitaplıklarda oluşan trafiğin hatalarını ayıklamak için çok faydalıdır. Uygulamanız ile kimlik doğrulama hizmetleri arasındaki trafik, iletişim SSL kullanılarak şifrelendiğinden Wireshark ile analiz edilemez. Wireshark, tcpdump gibi araçlarla yakalanan trafiği analiz etmek için de kullanılabilir. Wireshark, geliştiriciler tarafından hem kaynak kodu hem de Windows yükleyicisi olarak sunulur. Üçüncü taraf paketleri birçok platformda kullanılabilir.
- Fiddler
- Fiddler bir "HTTP hata ayıklama proxy'sidir". Kodunuzu veya çalışma zamanı ortamınızı HTTP trafiği için bir proxy sunucusu kullanacak şekilde yapılandırabiliyorsanız Fiddler, trafiği incelemenize olanak tanıyacağı Google Veri Hizmetleri ile uygulamanız arasında yer alır. Fiddler 2, SSL desteği içerir. Fiddler şu anda yalnızca Windows'ta kullanılabilir.
- cURL
- cURL, HTTP/HTTPS isteklerini gerçekleştirebilen bir komut satırı aracıdır. Bu, istemcinizde önce HTTP desteği oluşturmak zorunda kalmadan bir hizmetle etkileşimleri hızlı bir şekilde test etmek için çok kullanışlıdır.
- Java istemci kitaplığında HTTP günlük kaydı bilgilerini nasıl alabilirim?
-
Java istemci kitaplıkları, HTTP isteklerinin günlüğe kaydedilmesini sağlamak için
java.util.logging
paketini kullanır. Bu sayede, istekler ve yanıtlar için başlıkların, durum kodlarının ve istek URL'lerinin günlüğe kaydedilmesini etkinleştirebilirsiniz. Şu anda tam istek ve yanıt akışları günlüğe kaydedilmemektedir. Bu günlükler için kullanılan günlükçü adıcom.google.gdata.client.http.HttpGDataRequest
'dır.Sunuculardan bir hata kodu döndürülmesi durumunda istisna oluşturulur. İstisna sınıfları
com.google.gdata.util.ServiceException
sınıfından devralınır vegetResponseBody()
adlı herkese açık bir yöntem içerir. Daha fazla bilgi için Javadoc'a göz atın. - .NET istemci kitaplığında HTTP günlük kaydı bilgilerini nasıl alabilirim?
- .NET kitaplığı, izleme etkinleştirilmişse yürütme yolunu günlüğe kaydetmek için
System.Diagnostics
izleme yöntemlerini kullanır. Ayrıca, hata durumundaGDataRequestException
oluşturulur. İstisna, HTTP yanıtının gövdesine erişmenizi sağlayan birResponseString
içerir. - Google veri feed'lerinden gzip kodlamayı nasıl etkinleştirebilirim?
-
Google Veri API'lerinden birinden gzip kodlu yanıt almak için iki işlem yapmanız gerekir: "Accept-Encoding" başlığını ayarlayın ve kullanıcı aracınızı "gzip" dizesini içerecek şekilde değiştirin. Doğru şekilde oluşturulmuş üstbilgi örneği:
User-Agent: my program (gzip) Accept-Encoding: gzip
- PHP istemcisini kullanırken neden "sslv2'ye bağlanılamıyor" hatası alıyorum?
-
Temmuz 2009'dan itibaren, güvenliği artırmak için önleyici bir tedbir olarak sunucularımızda SSLv2'yi devre dışı bırakmaya başladık. Maalesef, Temmuz 2007'den önce yayınlanan PHP istemci kitaplığının ilk sürümlerinde (1.0.0 ve önceki sürümler) bağlantıların SSLv2 kullanmasını zorunlu kılan bir hata var. SSLv2'nin devre dışı olduğu bir sunucuya bağlanırken şu hata oluşur:
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 adresinden PHP istemci kitaplığının daha yeni bir sürümüne yükseltin.
Daha yeni bir sürüme yükseltemiyorsanız aşağıdaki kodu uygulamanıza ekleyerek bu sorunu düzeltebilirsiniz. Burada
$gdata
,Zend_Gdata
'nin (veya uygun alt sınıfın) mevcut örneğidir:$gdata->getHttpClient()->setConfig(array('ssltransport' => 'ssl'));
- Bir feed'i açıklayan Atom hizmet dokümanını nasıl edinebilirim?
-
İsteğe
alt=atom-service
parametresini ileterek Atom hizmet belgesini alabilirsiniz. Not: Yalnızca Google Veri API'lerinin 2. sürümü, AtomPub hizmet belgesi söz dizimine uygun bir hizmet belgesi döndürür. Google Veri API'lerinin 1. sürümü, hizmet belgesi döndürmeye devam edecek ancak bu belge, AtomPub'ın önceki bir taslak spesifikasyonuna dayanacak (iki sürüm arasında söz dizimi ve ad alanı değişiklikleri vardır).
Kimlik doğrulama
Google Veri API'leri dokümanlarında "OAuth" ifadesi OAuth 1'i ifade eder. OAuth 2.0 ayrıntıları için API'nizin dokümanlarına bakın.