Kitaplığı kullanmaya başlamak için ihtiyacınız olan tüm temel bilgileri bu dokümanda bulabilirsiniz. Kitaplık kavramlarını, çeşitli kullanım alanlarına dair örnekler gösterir. ve daha fazla bilgi için bağlantılar sunar.
Kurulum
Bu kitaplığı kullanabilmek için tamamlamanız gereken birkaç kurulum adımı var:
- Henüz bir Google Hesabınız yoksa kaydolun.
- Daha önce hiç Google API Konsolu projesi oluşturmadıysanız Projeleri Yönetme sayfası ve Arkadaş Bitkiler projesinde Google API Konsolu.
- Çalışmak istediğiniz NuGet paketini yükleyin.
Kimlik doğrulama ve yetkilendirme
API kimlik doğrulama ve yetkilendirmesinin nasıl işlendiğine dair temel bilgilerin anlaşılması önemlidir. Tüm API çağrıları, basit veya yetkili erişim (aşağıda tanımlanmıştır) kullanmalıdır. Birçok API yöntemi yetkili erişim gerektirir, ancak bazıları her ikisini de kullanabilir. İkisinden birini kullanabilen bazı API yöntemleri farklı davranır Bu, basit veya yetkili erişim kullanmanıza bağlı olarak farklılık gösterir. Uygun erişim türünü belirlemek için API'nin yöntem dokümanlarına bakın.
1. Basit API erişimi (API anahtarları)
Bu API çağrıları hiçbir gizli kullanıcı verisine erişemez. Uygulamanız, kimliğini bir uygulamaya ait uygulama olarak doğrulamalıdır . Bu, muhasebe amacıyla proje kullanımını ölçmek için gereklidir.
API anahtarı: Uygulamanızın kimliğini doğrulamak için API anahtarı . Uygulamanızın yaptığı her basit erişim çağrısı bu anahtarı içermelidir.
2. Yetkili API erişimi (OAuth 2.0)
Bu API çağrıları, gizli kullanıcı verilerine erişir. Onu arayabilmeniz için özel verilere erişimi olan kullanıcı, uygulamanıza erişim izni vermelidir. Bu nedenle, uygulamanızın kimliği doğrulanmalıdır. kullanıcı, uygulamanız için erişim izni vermelidir. ve bu erişim iznini vermek için kullanıcının kimliği doğrulanmalıdır. Tüm bunları mümkün kılan OAuth 2.0 ve bu sürüm için yazılmış kitaplıklar.
Kapsam: Her API, izin verilen bir işlem grubunu belirten bir veya daha fazla kapsamı tanımlar. Örneğin, bir API'nin salt okunur ve okuma-yazma kapsamları olabilir. Uygulamanız, kullanıcı verilerine erişim istediğinde istek bir veya daha fazla kapsam içermelidir. Kullanıcının, uygulamanızın istediği erişim kapsamını onaylaması gerekir.
Yenileme ve jetonlara erişme: Bir kullanıcı uygulamanıza erişim izni verdiğinde, OAuth 2.0 yetkilendirme sunucusu uygulamanıza yenileme ve erişim jetonları sağlar. Bu jetonlar yalnızca istenen kapsam için geçerlidir. Uygulamanız, API çağrılarını yetkilendirmek için erişim jetonları kullanıyor. Erişim jetonlarının süresi dolar ancak yenileme jetonlarının geçerlilik süresi sona erer. Uygulamanız, yeni bir erişim jetonu almak için yenileme jetonu kullanabilir.
İstemci kimliği ve istemci gizli anahtarı: Bu dizeler uygulamanızı benzersiz bir şekilde tanımlar ve jeton almak için kullanılır. API Konsolu'nda projeniz için oluşturulurlar. Üç tür istemci kimliği vardır, Bu nedenle, uygulamanız için doğru türü seçtiğinizden emin olun:
- Web uygulaması istemci kimlikleri
- Yüklü uygulama istemci kimlikleri
- Hizmet Hesabı istemci kimlikleri
Örnekler
Bu bölümde, yetkilendirme olmadan basit API kullanımına ilişkin örnekler verilmiştir. Yetkilendirme çağrıları hakkında daha fazla bilgi için .NET için OAuth 2 .0 sayfası.
Basit API örneği
Bu örnekte, bir komut satırı uygulaması için basit API erişimi kullanılmaktadır. Burada Tüm Google API'lerini listelemek için Google Discovery API.
Kurulum örneği
Basit API anahtarınızı alın. Uygulamanızın API anahtarını bulmak için aşağıdakileri yapın:
- API Konsolu'nda Kimlik Bilgileri sayfasını açın.
-
Bu API, iki tür kimlik bilgisini destekler.
Projeniz için uygun olan kimlik bilgilerini oluşturun:
-
OAuth 2.0: Uygulamanız gizli kullanıcı isteğinde bulunduğunda verilerini içeriyorsa istekle birlikte bir OAuth 2.0 jetonu göndermelidir. Sizin ilk olarak istemcinin istemci kimliğini ve muhtemelen istemcinin bir jeton alabilirsiniz. Web için OAuth 2.0 kimlik bilgileri oluşturabilirsiniz. uygulamaları, hizmet hesapları veya yüklü uygulamaları.
Daha fazla bilgi için OAuth 2.0 dokümanlarına bakın.
-
API anahtarları: OAuth 2.0 jetonu sağlamayan istekler bir API göndermelidir tuşuna basın. Anahtar, projenizi tanımlar ve API erişimi, kota, raporlar.
API, API anahtarlarında çeşitli kısıtlama türlerini destekler. Oluşturduğunuz API anahtarı, , yoksa yeni bir anahtar oluşturmak için Kimlik bilgileri oluştur > API anahtarı. Kullanmadan önce anahtarı kısıtlayabilirsiniz Anahtarı kısıtla'yı tıklayıp Kısıtlamalar.
-
API anahtarlarınızı güvende tutmak için şunla ilgili en iyi uygulamaları izleyin: API anahtarlarını güvenli bir şekilde kullanın.
Kod örneğin
using System;
using System.Threading.Tasks;
using Google.Apis.Discovery.v1;
using Google.Apis.Discovery.v1.Data;
using Google.Apis.Services;
namespace Discovery.ListAPIs
{
/// <summary>
/// This example uses the discovery API to list all APIs in the discovery repository.
/// https://developers.google.com/discovery/v1/using.
/// <summary>
class Program
{
[STAThread]
static void Main(string[] args)
{
Console.WriteLine("Discovery API Sample");
Console.WriteLine("====================");
try
{
new Program().Run().Wait();
}
catch (AggregateException ex)
{
foreach (var e in ex.InnerExceptions)
{
Console.WriteLine("ERROR: " + e.Message);
}
}
Console.WriteLine("Press any key to continue...");
Console.ReadKey();
}
private async Task Run()
{
// Create the service.
var service = new DiscoveryService(new BaseClientService.Initializer
{
ApplicationName = "Discovery Sample",
ApiKey="[YOUR_API_KEY_HERE]",
});
// Run the request.
Console.WriteLine("Executing a list request...");
var result = await service.Apis.List().ExecuteAsync();
// Display the results.
if (result.Items != null)
{
foreach (DirectoryList.ItemsData api in result.Items)
{
Console.WriteLine(api.Id + " - " + api.Title);
}
}
}
}
}
API anahtarlarını kullanmayla ilgili ipuçları:
- Belirli bir hizmeti kullanmak için hizmete referans eklemeniz gerekir. Örneğin, Görevler API'si NuGet paketini yüklemeniz gerekir Google.Apis.Tasks.v1.
- Bir hizmetin örneğini oluşturmak için oluşturucuyu çağırmanız yeterlidir. Örnek:
new TasksService(new BaseClientService.Initializer {...});"
- Bir hizmetin tüm yöntemleri, hizmet nesnesi üzerindeki bağımsız kaynaklarda bulunur.
Keşif hizmeti,
List
yöntemini içeren birApis
kaynağına sahip.service.Apis.List(..)
yöntemini çağırdığınızda bu yöntemi hedefleyen bir istek nesnesi döndürülür.
. Bir isteği yürütmek için istekteExecute()
veyaExecuteAsyc()
yöntemini çağırın. BaseClientService.Initializer
örneğindeApiKey
özelliğini kullanarak API anahtarını ayarlayın.
API'lerle ilgili bilgi bulma
İlgili içeriği oluşturmak için kullanılan Desteklenen API'ler sayfasında belge bağlantılarının yanı sıra bu kitaplığı kullanarak erişilebilen tüm API'ler de listelenir.
Ayrıca şunu da kullanabilirsiniz: API Gezgini API'lere göz atmak, mevcut yöntemleri listelemek ve hatta tarayıcınızdan API çağrılarını denemek için.