EVE API anahtarı nedir? Özel anahtarların temel özellikleri. Kimlik Bilgileri Oluşturun

  • 26.04.2019

Birçok oyuncunun rahatlığı için, EVE geliştiricileri, diğer kaynaklardaki hesap bilgilerine erişme / gönderme yeteneği için api oluşturdu. Birçok büyük şirket, bir oyuncuyu kabul etmeden önce bir anahtarın sağlanmasını gerektirir. Bu yazımızda sizlere Eve API anahtarının ne olduğunu, nasıl elde edileceğini ve onunla neler yapabileceğinizi anlatmaya çalışacağız.

API anahtarı nedir? Nasıl kullanabilirim?

API anahtarı, hesabınızı tanımlayan ve şunları yapmanızı sağlayan özel bir koddur. üçüncü taraf programları ve web siteleri, karakterleriniz ve kurumlarınızla ilgili bilgilere erişin. Bu verileri kullanarak, bu tür yardımcı programlar, oyun işlevselliği ile etkileşimden (satış/takvim etkinlikleri/planlar/gemi durumu vb.) diğer oyuncularla etkileşime kadar sizin için önemli olaylar hakkında zamanında bilgilendirilmenize yardımcı olabilir.

Güvenli? Biri benim bilgim olmadan hesabıma erişebilir mi?

Güvenlidir, diğer siteler ve uygulamalar, onay verdiğiniz sürece hesap bilgilerinize erişebilir. Şunlar. istediğin zaman iptal edebilirsin verilen erişim Bilgilerinizi sağladığınız kaynağın güvenliğinden şüpheniz varsa. Ayrıca oluşturduğunuz API anahtarını kullanarak başka bir kullanıcıya ne tür bilgilerin sunulacağını da kontrol edebilirsiniz.

API anahtarı kullanmak, kişilerin hesabınıza erişmesini engeller. API anahtarlarının amacı budur. API anahtarı yalnızca karakter ve şirket verilerini görüntülemenizi (okumanızı) sağlar. Oyuna giremezler, şifrenizi değiştiremezler veya başka bir şekilde hesabınıza giremezler.

Programların ve web sitelerinin verilerinize erişmesine izin vermenin tek güvenli yolu budur.

hala güvenmiyorum.

API anahtarı isteyen web sitesinin veya programın güvenli olduğundan emin değilseniz, lütfen API anahtarınızı vermeyin! API işlevi aracılığıyla elde edilen bilgilerin her türlü kullanımından yalnızca siz sorumlusunuz.

Birine API anahtarımı verdim ve şimdi onu kullanamamasını istiyorum!

Birinin API anahtarınızı kötüye kullandığını düşünüyorsanız, onu izin verilen erişim listesinden kaldırabilir veya doğrulama kodunu değiştirebilirsiniz. Lütfen, eski API anahtarını kullanan tüm programların ve web sitelerinin, siz onlara güncellenmiş bilgileri içeren yeni bir anahtar sağlamadığınız sürece verilere erişemeyeceğini unutmayın.

Günlüğü kullanarak hesabınızdaki etkinlik API'sini görüntüleyebilirsiniz. API erişimi Birinin API anahtarlarınızdan birini kötüye kullandığını düşünüyorsanız, lütfen doğrulama kodunuzu değiştirin veya API anahtarınızı yukarıdaki listeden kaldırın.

Eve API anahtarı nasıl oluşturulur?

  1. Bir anahtar oluşturmak için şu bağlantıyı izleyin: https://community.eveonline.com/support/api-key/update
  2. Giriş yapmanız gerekecek. Giriş yapmadan önce adrese dikkat edin. Sadece bu adres EVE'nin KAPALI sitesinin adresidir.
  3. Yetkilendirmeden sonra, aşağıdaki bilgileri içeren bir pencere göreceksiniz:
  • Cüzdan işlemleri
  • Cüzdan işlemleri günlüğü
  • Piyasa emirleri
  • Hesap bakiyesi

iletişim

  • Sohbet kanalları
  • Bildirim metinleri
  • Bildirimler
  • Posta mesajları
  • Posta listeleri
  • Posta
  • İletişim bildirimi
  • Kişi listesi

Kamuya açık bilgi

  • Karakter Bilgileri
  • son tablo
  • Ödüller
  • Günlüğü Öldür
  • savaş istatistikleri

Bilim ve üretim (Bilim ve Sanayi)

  • Araştırma
  • endüstriyel faaliyet

Kişisel bilgiler (Özel Bilgiler)

  • Yer imleri
  • koordinatlar
  • Sözleşmeler
  • Bir hesabın durumu
  • Karakter Bilgileri
  • Yaklaşan etkinliklerin takvimi
  • Öğrenme becerileri sırası.
  • Öğrenilen beceriler
  • Karakter sayfası
  • Etkinlik takvimi
  • Varlık listesi

Benzer şekilde anahtar yazın - Şirket. Ardından, "gönder" e tıklayın ve anahtar oluşturulacaktır. Hemen kullanıma hazırdır.

Bu anahtar nerede kullanılır?

Genellikle bu özellik Şirketler (klan siteleri) ve ek olanlar için uygulanır. EVE dünyası için uygulama. Bu, yardımcı kolordu üyeleriyle bilgi alışverişi anını basitleştirir.

Tüm Google uygulamalarının (hizmetlerinin) doğru çalışması için, benzersiz bir API anahtarı almayı içeren kimlik doğrulama gereklidir.

2016 yılının sonuna kadar, bu tür hizmetleri kullanmak hala mümkündü. Google Haritalar API anahtarı kullanmadan, ancak şimdi tüm yeni kullanıcıların bunu alması gerekiyor.

Sitenize yeni bir Google haritası eklemek istiyorsanız bir API anahtarına ihtiyacınız olacaktır. Bugünün makalesinde, bir Google Haritalar API anahtarı almak için gereken pratik adımlara ayrıntılı bir göz atacağız.

Google API Anahtarı Alma

Google Developers tarafından desteklenen birçok uygulama programlama arayüzü (API) vardır. Google Haritalar'ı sitenize dahil etmek istiyorsanız, bir Google Haritalar JavaScript API anahtarına ihtiyacınız vardır.

Not: Google Haritalar JavaScript API, iki fiyatlandırma planına ayrılmıştır - Standart ve Premium. Çoğu site için, aşağıdakileri içeren standart bir plan yapılır: serbest erişim günde 25.000 harita indirmeye (görüntüleme) kadar. 25.000'den fazla ve 100.000'den az görüntüleme varsa, 1000 ek görüntüleme için yaklaşık 0,50 ABD doları ödemeniz gerekir. Siteniz günde 100.000'den fazla harita görünümü oluşturuyorsa, bir Premium plana ihtiyacınız olacaktır.

Haydi başlayalım ve sitenize bir Google haritası ekleyelim.

İlk adım, bir Google Haritalar API anahtarı almaktır. Bunu yapmak için herhangi bir hesaba ihtiyacınız olacak Google girişi(ücretsizdir; posta kullanıyorsanız Google Gmail zaten sahip olduğun anlamına gelir.

Google hesabınızda oturum açın ve Google Haritalar JavaScript API sayfasına gidin.

Biraz aşağı kaydırın ve ardından büyük mavi düğmeye tıklayın " anahtarı almak» (Bir anahtar alın).

Bu, anahtar oluşturma ışık kutusu formunu açacaktır. Açılır listede mevcut projelerden seçim yapabilir veya yeni bir tane oluşturabilirsiniz. hadi oluşturalım yeni proje, bunun için açılır listeden seçmeniz gerekir + Yeni bir proje oluşturun(+ Yeni bir proje oluşturun). Anladığınız projenin adını girin ve butona tıklayın Daha öte(sonraki). Bu yeni projenizse, devam etmek için Google'ın hizmet şartlarını kabul etmeniz gerekir.

Birkaç saniye sonra oluşturulan Google Haritalar API anahtarını göreceksiniz (40 karakterden oluşan bir sayı ve harf seti olacaktır). Kopyalayın ve daha sonra kullanmak üzere erişilebilir bir yere kaydedin.

Google Haritalar API Anahtar Koruması

Sonraki adım, yeni uygulamanızın güvenliğini artırmaktır. Bunu yapmak için bağlantıyı tıklayın API Konsolu API anahtarınızla alanın altında. API anahtarınızın kullanımını yalnızca web sitenizle kısıtlayabileceğiniz yeni bir pencere açılacaktır. Bu, anahtarı yalnızca sizin kullanabileceğiniz anlamına gelir ve bu, anahtarın yetkisiz bir kullanıcı tarafından kullanılmasını önler (böylece bütçenizi korur).

Haritaları sitenizde görüntülemek için, seçeneğini belirleyin. HTTP yönlendirme kaynakları (web siteleri).

Aşağıda izin verilen alan adlarını eklemek için bir alan açılacaktır. onları ekle gerekli biçim: *.DOMAIN.com/* . Yer değiştirmek DOMAIN.com etki alanınıza.

Yıldız işaretleri ve eğik çizgiler bu şekilde belirtilmelidir (bu, sitenizin tüm alt alan adlarının tüm sayfalarına izin verecektir). Birden fazla alan adı eklemeniz gerekiyorsa, lütfen bunları her seferinde bir alan olmak üzere aşağıdaki yeni satıra girin.

Anahtar nasıl kullanılır

Sitenize bir Google Haritası eklemek için şunları kullanabilirsiniz: iframe, veya JavaScript kodu. Her iki durumda da bir anahtara ihtiyacınız olacak. Sitenizin Google haritalarına eklenmesiyle ilgili daha ayrıntılı bilgiler açıklanmıştır.

Google haritasını şununla ekle: JavaScriptşöyle bir şeye benziyor:

YOUR_API_KEY'i daha önce elde edilen anahtarla değiştirin ve kartınız çalışmalıdır!

Bunu umuyoruz kısa ders kolayca bir Google Haritalar API anahtarı oluşturmanıza ve sitenizde Google Haritalar'ın keyfini çıkarmanıza yardımcı olur. Düşüncelerinizi aşağıdaki yorumlarda paylaşmaktan çekinmeyin.

WordPress CMS, son derece işlevsel ve yönetimi kolaydır. Bir sitenin veya blogun modüler yapısı, hem metin içeriği hem de kaynağın işlevselliği ile çalışmayı büyük ölçüde basitleştirir. Özellikle, Akismet eklentisi tarafından spam bağlantılarına karşı otomatik koruma. Tümünde en son sürümler WordPress Eklentisi CMS'nin bir parçasıdır, yalnızca onu açmanız ve doğru işlemi kontrol etmeniz yeterlidir. Eklentinin çalışmasını sağlamak için şunları almanız gerekir: API Anahtarı.

API anahtarı nedir? Basitçe söylemek gerekirse, bir API anahtarı, sizi belirli bir kaynakta tanımlayan bir tür gizli şifredir. API anahtarı, kullanıcı tanımlayıcısı (ID) ile birlikte, ilgisiz programların ve kaynakların şirketiniz ve sizinle ilgili özel bilgileri almasına izin verir. e-mail adresleri, coğrafi adres ve kaynağa kaydolurken belirttiğiniz çok daha fazlası. Bu tür bilgileri kullanarak, bu tür programlar, çeşitli işlevler sağlayarak EVE'deki (EVE, gerçek faktörlere dayalı sanal yaşamınızdır) yaşam alanınızı optimize etmeye yardımcı olacaktır. Örneğin, işlemlerinizi dışa aktarma e-cüzdan, spam bildirimleri veya diğerleri gibi her türlü bildirim.

Şu anda, bir API anahtarı, hesabınızı diğer üçüncü taraf kullanıcıları etkilemeden veya ifşa etmeden ilgili programlara kişisel verilere erişim sağlamanın pratik olarak tek ve en güvenli yoludur. Bilginin alıcısı bilgiyi sadece görebilir, değiştiremez. Yani, hesabınızı forumda veya yorumlarda kullanmaya karar veren bir spam gönderici, API anahtarını kullanarak şifrenizi veya kişisel verilerinizi çoğaltmak için gerçek bir olasılık olmadığından bunu yapamaz.

Akismet eklentisi ile ilgili olarak, blogunuz periyodik olarak ve ne yazık ki oldukça sık spam saldırılarına maruz kalacağı için API anahtarınızı almak zorunludur. Böyle bir evrensel güvenlik anahtarını nereden alabilirim? Yukarıda bahsedildiği gibi Akismet eklentisi ilk olarak derlemede gelir ve admin panelindeki "Eklentiler" menüsünde varlığını bu resimden öğreneceksiniz:

"Kaydol" düğmesi eklenti ayarları penceresini açacaktır. Verilerinizi önerilen alanlara girin ve "" kaydırıcısını sola hareket ettirin, bu, eklentiyi ücretsiz kullanacağınız anlamına gelir.

Bu, kaydınızı tamamlar - "Devam" düğmesi. Kişisel API anahtarınız, verdiğiniz e-posta adresine gönderilecektir. Eklenti sayfasında belirtilen alana bu anahtarı girin ve aşağıdaki sonucu göreceksiniz:

Sunucu bağlantı ayarlarını buradan kontrol edebilirsiniz. Eklenti sayfasından antispam istatistiklerini de takip edebilirsiniz:

Şimdi, blog yönetici paneline girdiğinizde, gelecekteki kaderi - onaylamak, değiştirmek veya silmek için kararınızı bekleyen spam varlığı hakkında sizi bilgilendiren böyle bir yazı göreceksiniz:

Daha yakın zamanlarda Google, Google Haritalar için API anahtarlarını alma şeklini değiştirdi. Bunun nedeni, daha önce kullanılan Google Haritalar JavaScript API v2'nin (2010'da ortaya çıktığı gibi) kullanımdan kaldırılması ve şimdi geliştiricilerin sitelerinde Google Haritalar JavaScript API v3'ü şiddetle tavsiye etmesidir. Aynı zamanda, API için bir anahtar elde etmek, önemli zorluklarla ilişkilidir. resmi belgeler google neredeyse yok.

Gerçek şu ki, çoğu eklenti, modül ve bileşen Google Haritalar açık kaynaklı CMS için sadece sürüm kullanılır.Bu tür modülleri, eklentileri veya bileşenleri kurarken bir API anahtarı girmeniz gerekecektir. Çoğu geliştirici, bir API anahtarı almak için doğrudan bir bağlantı sağlar - http://code.google.com/intl/ru/apis/maps/signup.html . Yakın zamana kadar her şey basitti - bir Google hesabı oluşturmak veya mevcut bir hesapla giriş yapmak, alan adınızı girmek ve Google'ın bir harita sağlama şartlarını kabul etmek yeterliydi. Bundan sonra sistem, her etki alanı için benzersiz bir API anahtarı yayınladı.

Şu anda, yukarıdaki bağlantıya tıkladığımızda aşağıdakileri görüyoruz:

Özetle - bildirildiğine göre Google Haritalar JavaScript API v3(a gelince Google Earth API'sı) artık bir API anahtarı gerektirmez ve 19 Mayıs 2010 tarihinden itibaren resmi olarak kullanımdan kaldırılmıştır, ancak bu sürümü kullanan uygulamalar Eski Uygulama Destek Koşulları kapsamında desteklenecektir. hakkında bilgi içeren bir sayfanın bağlantısı da vardır. Google Haritalar JavaScript API v2. Ama burada hakkında bazı bilgiler için bir api anahtarı nasıl alınırGoogle Haritalar JavaScript API v2 hayır.

Geliştiricilerle yazışmalar sonucunda google çözümü bulundu. aşağıya getiriyorum:

1. https://code.google.com/apis/console adresini ziyaret etmeniz gerekir.

2. Google hesabınızda oturum açın veya kaydolun yeni hesap Google

3. Bir proje oluşturun (proje adında alan adını belirtin, örneğin siteniz.com)

4. Etkinleştir Google Haritalar JavaScript API v2 ve şartları kabul edin. (ek kayboldu, Kişiler API'sini etkinleştirmeyi deneyin)

5. Bundan sonra, benzersiz hediyenizi alacaksınız. API anahtarı için Google Haritalar JavaScript API v2. bölümünde görülebilir. API Erişimi

6. için anahtarı kopyalayınGoogle Haritalar JavaScript API v2ve belirtildiği şekilde kullanın.

Şimdi bir anahtar oluşturmak için dikkatinizi çekiyorum Google Haritalar JavaScript API v2 sadece 39 karakter kullanılıyor (önceden 86 karakter kullanılıyordu).

Ayrıca Google Haritalar'ın kullanımının artık ücretsiz olmadığı gerçeğine de dikkatinizi çekiyorum. Daha doğrusu, günde yalnızca 25.000 harita indirmesi ücretsizdir, sonraki 1.000 harita indirmesinin her biri 4 ila 10 ABD Doları arasında mal olacak. Halihazırda yüklenmiş bir haritayı güncellemek, harita indirme olarak sayılmaz. Aynı zamanda, kamuya açık (Google'a göre) sitelerde Google haritalarının kullanımı tamamen ücretsizdir.

Geocoding API'yi kullanmak için, daha sonra mobil uygulamanıza, web sitenize veya web sunucunuza ekleyebileceğiniz bir API anahtarı almanız gerekir. API anahtarı, kullanım ve faturalandırma için projenizle ilişkili API isteklerini izlemek için kullanılır. API anahtarları hakkında daha fazla bilgi edinmek için bkz. ve .

hatırlatma: Geocoding API'yi kullanmak için bir API anahtarı almanız ve faturalandırmayı etkinleştirmeniz gerekir. API anahtarınızı aldığınızda (bkz. ) veya ayrı bir işlem olarak (bkz. ) faturalandırmayı etkinleştirebilirsiniz. Not: Mobil uygulamanızı, web sitenizi veya web sunucunuzu üretime taşımadan önce bir kısıtlama ekleyerek API anahtarınızı korumanız önerilir (bkz. ).

Konsol

Hızlı rehber

1. Adım: Bir API anahtarı alın

kullanarak bir API anahtarı almak için aşağıdaki düğmeyi tıklayın. Sizden (1) bir veya daha fazla ürün seçmeniz, (2) bir proje seçmeniz veya oluşturmanız ve (3) bir faturalandırma hesabı oluşturmanız istenecektir. API anahtarınız oluşturulduktan sonra, anahtarın kullanımını kısıtlamanız istenecektir. (Daha fazla bilgi için bkz. .)

Başlamak

2. Adım: API anahtarını isteğinize ekleyin

Geocoding API'sini yüklerken, aşağıdaki kodda YOUR_API_KEY yerine bir önceki adımdan aldığınız API anahtarı ile değiştirin.

https://maps.googleapis.com/maps/api/geocode/json?address=1600+Amfitiyatro+Parkway,+Mountain+View,+CA&key= YOUR_API_KEY

detaylı rehber

Premium Plan müşterileri için ayrıntılı kılavuz

Geocoding API'yi kullanmak için, bir API anahtarı kullanarak isteklerin kimliğini doğrulamanız gerekir. veya

Uygulamanız için bir kimlik doğrulama yöntemi seçme

Seçtiğiniz kimlik doğrulama yöntemi lisansınıza bağlıdır:

  • API anahtarına sahip müşteriler bir API anahtarı kullanabilir veya bir müşteri kimliği ve dijital imza.
  • Müşteri kimliği ve dijital imza kullanma zorunluluğu olan müşteriler.

Premium Plan veya önceki bir lisansınız var mı?
Hangi lisansa sahip olduğunuzu belirlemek için:
> Google Cloud Destek Portalı'nda öğesini tıklayın. Haritalar: Kullanım Raporu soldaki.
> Raporun üst kısmındaki kimlik aşağıdaki formata sahip mi?
gme-[ şirket]&proj-[ sayı] ([tip])
Evet ise, sahipsin.
Hayır ise, bir (Maps APIs for Work veya Maps APIs for Business) sahibisiniz.

Hangi kimlik doğrulama yönteminin kullanılacağına karar verirken aşağıdakileri göz önünde bulundurun:

  • API anahtarı kullanarak kimlik doğrulama(Premium Plan lisansı)
    Uygulamalarınızın kimliğini doğrulamak için bir API anahtarı kullanarak şunları yapabilirsiniz:
    • Tüm API'lerinizi Google Cloud Platform Console'da yönetin.
    • Google Cloud Platform Console'da uygulamanız için gerçek zamanlı kullanım verilerine ve 30 günlük geçmiş kullanım verilerine erişin.
    • Google Bulut Destek Portalı.
  • İstemci kimliği ve dijital imza kullanarak kimlik doğrulama(Premium Plan veya önceki lisans)
    Uygulamanızın kimliğini doğrulamak için müşteri kimliğinizi ve dijital imzanızı kullanarak şunları yapabilirsiniz:
    • Daha ayrıntılı kullanım raporlarını görüntüleyebilmek için isteklere kanal parametresini ekleyin.
    • Google Cloud Destek Portalı'nda 30 günden fazla veri içeren kullanım raporlarını görüntüleyin.
    • Haritalar JavaScript API'si için Haritalar Analizi araçlarını kullanın.

Bir API anahtarı kullanarak uygulamanızın kimliğini doğrulama

Not: Premium Plan lisansına sahip müşteriler için.

API anahtarı almak ve kısıtlamalar eklemek için şu adımları izleyin:

İstemci kimliği ve dijital imza kullanarak uygulamanızın kimliğini doğrulama

Not: Premium Plan veya önceki lisansa sahip müşteriler için. #!/usr/bin/python # -*- coding: utf-8 -*- """ Bir URL imzalama sırrı kullanarak bir URL imzalar """ import hashlib import hmac import base64 import urlparse def sign_url(input_url=Yok, secret =Yok): """ Bir istek URL'sini bir URL imzalama sırrı ile imzalayın. Kullanım: from urlsigner import sign_url sign_url = sign_url(input_url=my_url, secret=SECRET) Args: input_url - Gizli imzalanacak URL - URL imzalama sırrınız Dönüyor : İmzalı istek URL'si """ input_url değilse veya secret değilse: Exception("Hem input_url hem de secret gereklidir") url = urlparse.urlparse(input_url) # url_to_sign dizesinin yalnızca yol+sorgu bölümünü imzalamamız gerekiyor = url.path + "?" + url.query # Özel anahtarın ikili biçimine kodunu çözün # URL kodlu özel anahtarın kodunu çözmemiz gerekiyor decoding_key = base64.urlsafe_b64decode(secret) # Özel anahtarı ve URL kodlu # dizesini HMAC SHA1 kullanarak bir imza oluşturun . Bu imza ikili olacaktır. imza = hmac.new(decoding_key, url_to_sign, hashlib.sha1) # Bir URL içinde kullanmak için ikili imzayı base64'e kodlayın encoding_signature = base64.urlsafe_b64encode(signature.digest()) orijinal_url = url.scheme + "://" + url.netloc + url.path + "?" + url.query # İmzalı URL'yi döndür orijinal_url + "&signature=" + encoding_signature if __name__ == "__main__": input_url = raw_input("İmzalanacak URL: ") secret = raw_input("URL imzalama sırrı: ") print "İmzalı URL: " + sign_url(input_url, gizli)

Java

Aşağıdaki örnek, JDK 1.8'den beri mevcut olan java.util.Base64 sınıfını kullanmaktadır - eski sürümlerin Apache Commons veya benzerini kullanması gerekebilir. (Kodu indirin.)

Java.io.IOException'ı içe aktarın; java.io.UnsupportedEncodingException'ı içe aktarın; java.net.URI'yi içe aktar; java.net.URISyntaxException'ı içe aktarın; java.security.InvalidKeyException'ı içe aktarın; java.security.NoSuchAlgorithmException'ı içe aktarın; java.util.Base64'ü içe aktarın; // Yalnızca JDK 1.8 - eski sürümlerin Apache Commons veya benzerini kullanması gerekebilir. javax.crypto.Mac'i içe aktarın; javax.crypto.spec.SecretKeySpec'i içe aktarın; java.net.URL'yi içe aktar; java.io.BufferedReader'ı içe aktarın; java.io.InputStreamReader'ı içe aktarın; public class UrlSigner ( // Not: Genel olarak, özel anahtarınızı güvenli bir yerde saklamanız // ve bunları kodunuza okumanız gerekir private static String keyString = "YOUR_PRIVATE_KEY"; // Bu örneklerde gösterilen URL statik bir URL'dir. // URL kodlu olsun Pratikte, muhtemelen kullanıcı veya web servis girişinden URL'nizi birleştiren // ve bu değerleri parametrelerine bağlayan kodunuz olacaktır. private static String urlString = "YOUR_URL_TO_SIGN"; // Bu değişken, dize (Base64) anahtarı özel statik bayt anahtarından hesaplanan ikili anahtarı depolar; public static void main(String args), IOException, InvalidKeyException, NoSuchAlgorithmException, URISyntaxException ( BufferedReader input = new BufferedReader(new InputStreamReader(System. in) ); String inputUrl, inputKey = null; // Test amacıyla, URL için kullanıcı girişine izin verin. // Herhangi bir giriş girilmezse, yukarıda tanımlanan statik URL'yi kullanın. System.out.println("URL'yi girin ( URL tr olmalıdır kodlanmış) imzalamak için: "); inputUrl = input.readLine(); if (inputUrl. equals("")) ( inputUrl = urlString; ) // Dizeyi ayrıştırabilmemiz için bir URL'ye dönüştürün URL url = new URL(inputUrl); // Test amacıyla, özel anahtar için kullanıcı girişine izin verin. // Herhangi bir giriş girilmezse, yukarıda tanımlanan statik anahtarı kullanın. System.out.println("URL'yi imzalamak için Özel anahtarı girin: "); inputKey = input.readLine(); if (inputKey. equals("")) ( inputKey = keyString; ) UrlSigner imzalayıcı = new UrlSigner(inputKey); String request = signer.signRequest(url.getPath(),url.getQuery()); System.out.println("İmzalı URL:" + url.getProtocol() + "://" + url.getHost() + istek); ) public UrlSigner(String keyString) IOException öğesini atar ( // Anahtarı "web güvenli" taban 64'ten ikili dosyaya dönüştürün keyString = keyString.replace("-", "+"); keyString = keyString.replace("_", " /"); System.out.println("Key: " + keyString); // Base64 yalnızca JDK 1.8'dir - eski sürümlerin Apache Commons veya benzerini kullanması gerekebilir. this.key = Base64.getDecoder().decode(keyString) ); ) public String signRequest(Dize yolu, Dize sorgusu) atar NoSuchAlgorithmException, InvalidKeyException, UnsupportedEncodingException, URISyntaxException ( // İmzalamak için uygun URL bileşenlerini alın String resource = path + "? " + sorgu; // Ham anahtar baytlarından bir HMAC-SHA1 imzalama anahtarı alın SecretKeySpec sha1Key = new SecretKeySpec(key, "HmacSHA1"); // Bir HMAC-SHA1 Mac örneği alın ve HMAC-SHA1 anahtarı Mac ile başlatın mac = Mac.getInstance("HmacSHA1"); mac.init(sha1Key); // istek baytı için ikili imzayı hesapla sigBytes = mac.doFinal(resource.getBytes()); // 64 tabanı ikili imzayı kodla / / Base64 yalnızca JDK 1.8'dir - eski sürümlerin Apache Commons veya benzerini kullanması gerekebilir.String imzası = Base64.getEncoder().encodeToString(sigBytes); "+", "-"); imza = imza.replace("/" , "_"); dönüş kaynağı + "&signature=" + imza; ))

DüğümJS

Aşağıdaki örnek, bir URL'yi imzalamak için yerel Düğüm modüllerini kullanır. (Kodu indirin.)

"katı kullan" const kripto = require("kripto"); const url = gerekli ("url"); /** * "Web güvenli" base64'ten gerçek base64'e dönüştürün. * * @param (string) safeEncodedString Bir web güvenli formundan * çevirmek istediğiniz kod. * @return (string) */ function removeWebSafe(safeEncodedString) ( return safeEncodedString.replace(/-/g, "+").replace(/_/g, "/"); ) /** * Gerçek base64'ten dönüştürme to "web güvenli" base64 * * @param (string) encodingString * Web için güvenli bir forma çevirmek istediğiniz kod. * @return (string) */ function makeWebSafe(encodingString) ( return encodingString.replace(/\+/g, "-").replace(/\//g, "_"); ) /** * base64 kodunu ve kodunu çözün. * * @param (string) code Kodlanmış veri. * @return (string) */ function decodeBase64Hash(code) ( // "new Buffer(...)" kullanımdan kaldırıldı. Varsa Buffer.from kullanın. Buffer.from ? Buffer.from(code, "base64") ) : new Buffer(code, "base64"); ) /** * Bir anahtar alır ve onunla veri imzalar. * * @param (string) key Benzersiz gizli anahtarınız. * @param (string) data İmzalanacak url. * @return (string) */ function encodeBase64Hash(key, data) ( return crypto.createHmac("sha1", key).update(data).digest("base64"); ) /** * Bir URL kullanarak bir URL imzalayın gizli anahtar. * * @param (string) path İmzalamak istediğiniz url. * @param (string) secret Eşsiz gizli anahtarınız. * @return (string) */ function sign(path, secret) ( const uri = url.parse(path); const safeSecret = decodeBase64Hash(removeWebSafe(secret)); const hashedSignature = makeWebSafe(encodeBase64Hash(safeSecret, uri.path) ); dönüş url.format(uri) + "&signature=" + hashedSignature; )

C#

Aşağıdaki örnek, bir URL isteğini imzalamak için varsayılan System.Security.Cryptography kitaplığını kullanır. URL güvenli bir sürüm uygulamak için varsayılan Base64 kodlamasını dönüştürmemiz gerektiğini unutmayın. (Kodu indirin.)

Sistemi Kullanmak; System.Collections.Generic kullanarak; System.Security.Cryptography kullanarak; System.Text'i kullanarak; System.Text.RegularExpressions kullanarak; System.Web'i kullanarak; ad alanı SignUrl ( public struct GoogleSignedUrl ( public static string Sign(string url, string keyString) ( ASCIIEncoding encoding = new ASCIIEncoding(); // anahtarın baytlara dönüştürülmesi bir istisna atar, önce "-" ve "_" karakterlerinin değiştirilmesi gerekir .string usablePrivateKey = keyString.Replace("-", "+").Replace("_", "/"); byte privateKeyBytes = Convert.FromBase64String(usablePrivateKey); Uri uri = yeni Uri(url); bayt kodlanmışPathAndQueryBytes = encoding.GetBytes(uri.LocalPath + uri.Query); // karma değerini hesapla HMACSHA1 algoritması = new HMACSHA1(privateKeyBytes); byte hash = algoritma.ComputeHash(encodedPathAndQueryBytes); // baytları dizeye dönüştürün ve url'yi şu şekilde güvenli hale getirin "+" ve "/" karakterlerinin değiştirilmesi dize imza = Convert.ToBase64String(hash).Replace("+", "-").Replace("/", "_"); // İmzayı mevcut URI'ye ekleyin . return uri.Scheme+"://"+uri.Host+uri.LocalPath + uri.Query +"&signature=" + imza; ) ) class Program ( static void Main() ( // Not: Ge aslında, özel anahtarınızı güvenli bir yerde saklamalı // ve bunları kodunuzda okumalısınız const string keyString = "YOUR_PRIVATE_KEY"; // Bu örneklerde gösterilen URL, zaten URL kodlamalı // olması gereken statik bir URL'dir. Uygulamada, muhtemelen kullanıcı veya web hizmeti girişinden URL'nizi bir araya getiren // ve bu değerleri parametrelerine bağlayan // kodunuz olacaktır. const string urlString = "YOUR_URL_TO_SIGN"; string inputUrl = boş; string inputKey = boş; Console.WriteLine("İmzalamak için URL'yi girin (URL kodlu olmalıdır): "); inputUrl = Console.ReadLine(); if (inputUrl.Length == 0) ( inputUrl = urlString; ) Console.WriteLine("URL'yi imzalamak için Özel anahtarı girin: "); inputKey = Console.ReadLine(); if (inputKey.Length == 0) ( inputKey = keyString; ) Console.WriteLine(GoogleSignedUrl.Sign(inputUrl,inputKey)); ) ))

Test amacıyla, doğru imzayı oluşturup oluşturmadığını görmek için aşağıdaki URL'yi ve özel anahtarı test edebilirsiniz. Bu özel anahtarın yalnızca test amaçlı olduğunu ve herhangi bir Google hizmeti tarafından doğrulanmayacağını unutmayın.

  • URL: https://maps.googleapis.com/maps/api/geocode/json?address=New+York&client=clientID
  • Özel anahtar: vNIXE0xscrmjlyV-12Nj_BvUPaw=
  • İmzalanacak URL Kısmı: /maps/api/geocode/json?address=New+York&client=clientID
  • İmza: chaRF2hTJKOScPr-RQCEhZbSzIE=
  • Tam İmzalı URL: https://maps.googleapis.com/maps/api/geocode/json?address=New+York&client= clientID &signature=chaRF2hTJKOScPr-RQCEhZbSzIE=

Ek dillerdeki örnekler

Daha fazla dili kapsayan örnekler url-imzalama projesinde mevcuttur.

Özel şifreleme anahtarınız hakkında daha fazla bilgi

Özel şifreleme URL imzalama anahtarınız, müşteri kimliğiniz ile birlikte verilir ve sizinle Google arasında bir "gizli paylaşılan anahtar"dır. Bu imzalama anahtarı yalnızca size aittir ve müşteri kimliğinize özeldir. Bu nedenle lütfen imzalama anahtarınızı güvende tutun. Bu anahtar olumsuzluk herhangi bir istek dahilinde iletilemez, herhangi bir web sitesinde saklanamaz veya herhangi bir genel foruma gönderilemez. Bu imzalama anahtarını alan herkes, kimliğinizi kullanarak istekleri yanıltabilir.

Not: Bu özel şifreleme imzalama anahtarı olumsuzluk Google Cloud Platform Konsolu tarafından verilen API anahtarlarıyla aynıdır.

Özel şifreleme anahtarınızı kaybettiyseniz, Google Cloud Destek Portalı'na giriş yapın ve Haritalar: Müşteri Kimliğini Yönetin geri almak için.

API anahtarını kısıtlama

Google Haritalar API'leri, web tarayıcıları ve Android veya iOS uygulamaları için HTTP web hizmetleri aracılığıyla kullanılabilir. Herhangi bir platformdaki API'ler sınırsız bir API anahtarı kullanabilir. API anahtarına isteğe bağlı olarak bir kısıtlama (örneğin, IP adresleri) ekleyebilirsiniz. Bir anahtar kısıtlandığında, yalnızca bu tür kısıtlamaları destekleyen platformlarda çalışır.

Not: Uygulamanızı veya web sitenizi üretime taşımadan önce, bir kısıtlama ekleyerek API anahtarınızı güvence altına almanız önerilir. Daha fazla bilgi edinmek için ve Bir API anahtarının güvenliğini sağlama konusuna bakın.

Bir API anahtarına kısıtlamalar eklemek için aşağıdakileri yapın:

Kimlik doğrulama sorunlarını giderme

İsteğiniz hatalı biçimlendirilmişse veya geçersiz bir imza sağlıyorsa, Geocoding API bir HTTP 403 (Yasak) hatası verir.

Tek tek URL'lerde sorun gidermek için URL İmzalama Hata Ayıklayıcı'yı kullanabilirsiniz. Uygulamanız tarafından oluşturulan bir URL'yi ve imzayı hızla doğrulamanıza olanak tanır.

Alternatif olarak, Google Haritalar API'leri Premium Plan müşterileri, Google Cloud Destek Portalı'na giriş yaparak ve seçim yaparak tek tek URL'lerle ilgili sorunları giderebilir. Kaynaklar > Google Haritalar API'leri Premium Plan çevrimiçi araçları > URL İmzalama Hata Ayıklayıcı web için Hizmet ve Görüntü API'leri.

Aksi belirtilmediği sürece, bu sayfanın içeriği Creative Commons Atıf 3.0 Lisansı ile lisanslanmıştır ve kod örnekleri Apache 2.0 Lisansı ile lisanslanmıştır. Ayrıntılar için bkz. Java, Oracle ve/veya bağlı kuruluşlarının tescilli ticari markasıdır.