Dieses Dokument enthält alle grundlegenden Informationen, die Sie für die Verwendung der Bibliothek benötigen. Es werden Bibliothekskonzepte, Beispiele für verschiedene Anwendungsfälle, und enthält Links zu weiteren Informationen.
Einrichtung
Bevor Sie diese Bibliothek verwenden können, müssen Sie einige Einrichtungsschritte ausführen:
- Wenn Sie noch kein Google-Konto haben, Registrieren.
- Wenn Sie noch kein Google API Console-Projekt erstellt haben, lesen Sie die Seite „Projekte verwalten“ und erstellen ein Projekt in der Google API Console:
- Installieren Sie das NuGet-Paket, mit dem Sie arbeiten möchten.
Authentifizierung und Autorisierung
Es ist wichtig, die Grundlagen der API-Authentifizierung und -Autorisierung zu verstehen. Für alle API-Aufrufe muss entweder ein einfacher oder autorisierter Zugriff (wie unten definiert) verwendet werden. Viele API-Methoden erfordern einen autorisierten Zugriff, einige können aber auch beide verwenden. Einige API-Methoden, die beide verwenden können, verhalten sich unterschiedlich, je nachdem, ob Sie den einfachen oder den autorisierten Zugriff verwenden. Informationen zum Ermitteln des geeigneten Zugriffstyps finden Sie in der Methodendokumentation der API.
1. Einfacher API-Zugriff (API-Schlüssel)
Diese API-Aufrufe greifen nicht auf private Nutzerdaten zu. Ihre Anwendung muss sich als eigene Anwendung authentifizieren. mit Ihrem Google API Console-Projekt verknüpfen. Dies ist erforderlich, um die Projektnutzung für Buchhaltungszwecke zu messen.
API-Schlüssel: Verwenden Sie zur Authentifizierung Ihrer Anwendung einen API-Schlüssel für Ihr API Console-Projekt. Jeder einfache Zugriffsaufruf, den Ihre Anwendung durchführt, muss diesen Schlüssel enthalten.
<ph type="x-smartling-placeholder">2. Autorisierter API-Zugriff (OAuth 2.0)
Diese API-Aufrufe greifen auf private Nutzerdaten zu. Bevor Sie sie anrufen können, muss der Nutzer, der Zugriff auf die privaten Daten hat, Ihrer Anwendung Zugriff gewähren. Ihre Anwendung muss authentifiziert sein, muss der Nutzer der Anwendung Zugriff gewähren. und der Nutzer muss authentifiziert sein, um diesen Zugriff zu gewähren. All dies erreichen Sie mit OAuth 2.0 und für ihn geschriebene Bibliotheken
Umfang: Jede API definiert einen oder mehrere Bereiche, die eine Reihe von zulässigen Vorgängen deklarieren. Eine API kann beispielsweise schreibgeschützte Bereiche und Lese-/Schreibbereiche haben. Wenn Ihre Anwendung Zugriff auf Nutzerdaten anfordert, Die Anfrage muss einen oder mehrere Bereiche enthalten. Der Nutzer muss den Zugriffsbereich genehmigen, den Ihre Anwendung anfordert.
Aktualisierungs- und Zugriffstokens: Wenn ein Nutzer Ihrer Anwendung Zugriff gewährt, wird der OAuth 2.0-Autorisierungsserver stellt Ihrer Anwendung Aktualisierungs- und Zugriffstokens bereit. Diese Tokens sind nur für den angeforderten Bereich gültig. Ihre Anwendung verwendet Zugriffstokens, um API-Aufrufe zu autorisieren. Zugriffstokens laufen ab, Aktualisierungstokens jedoch nicht. Ihre Anwendung kann ein Aktualisierungstoken verwenden, um ein neues Zugriffstoken zu erhalten.
<ph type="x-smartling-placeholder">Client-ID und Clientschlüssel: Diese Strings identifizieren Ihre Anwendung eindeutig und werden zum Erwerb von Tokens verwendet. Sie werden in der API Console für Ihr Projekt erstellt. Es gibt drei Arten von Client-IDs: Achten Sie daher darauf, den richtigen Typ für Ihre Anwendung auszuwählen:
- Webanwendungs-Client-IDs
- Client-IDs der installierten Anwendung
- Dienstkonto-Client-IDs
Beispiele
In diesem Abschnitt finden Sie Beispiele für eine einfache API-Nutzung ohne Autorisierung. Weitere Informationen zu Autorisierungsaufrufen finden Sie in der OAuth 2.0-Seite für .NET
Einfaches API-Beispiel
In diesem Beispiel wird für eine Befehlszeilenanwendung ein einfacher API-Zugriff verwendet. Es nennt sich Google Discovery API, um alle Google APIs aufzulisten.
Beispiel für die Einrichtung
Rufen Sie Ihren einfachen API-Schlüssel ab. So finden Sie den API-Schlüssel Ihrer Anwendung:
- Öffnen Sie in der API Console die Seite Anmeldedaten.
-
Diese API unterstützt zwei Arten von Anmeldedaten.
Erstellen Sie die Anmeldedaten, die für Ihr Projekt geeignet sind:
<ph type="x-smartling-placeholder">
- </ph>
-
OAuth 2.0: Wenn Ihre Anwendung private Nutzerdaten anfordert, muss sie zusammen mit der Anfrage ein OAuth 2.0-Token senden. Die Anwendung sendet zuerst eine Client-ID und möglicherweise einen Clientschlüssel, um ein Token zu erhalten. Sie können OAuth 2.0-Anmeldedaten für Webanwendungen, Dienstkonten oder installierte Anwendungen generieren.
Weitere Informationen finden Sie in der OAuth 2.0-Dokumentation.
-
API-Schlüssel: Eine Anfrage, die kein OAuth 2.0-Token bereitstellt, muss einen API-Schlüssel senden. Mit diesem Schlüssel werden Ihr Projekt identifiziert sowie der API-Zugriff, das Kontingent und Berichte bereitgestellt.
Die API unterstützt mehrere Arten von Einschränkungen für API-Schlüssel. Wenn der API-Schlüssel, den Sie nicht bereits vorhanden ist, dann erstellen Sie einen API-Schlüssel in der Console, indem Sie Klicken Sie auf Anmeldedaten erstellen. > API-Schlüssel Sie können den Schlüssel vor der Verwendung einschränken in der Produktion, indem Sie auf Schlüssel einschränken klicken und eine der Einschränkungen:
-
Folgen Sie zur Wahrung der Sicherheit Ihrer API-Schlüssel den Best Practices zur sicheren Verwendung von API-Schlüsseln.
Codebeispiel
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);
}
}
}
}
}
Tipps zur Verwendung von API-Schlüsseln:
- Wenn Sie einen bestimmten Dienst verwenden möchten, müssen Sie ihm einen Verweis hinzufügen. Wenn Sie zum Beispiel die Methode Tasks API sollten Sie das NuGet-Paket Google.Apis.Tasks.v1 enthalten.
- Um eine Instanz eines Dienstes zu erstellen, rufen Sie einfach dessen Konstruktor auf. Beispiel:
new TasksService(new BaseClientService.Initializer {...});"
. - Alle Methoden eines Dienstes befinden sich in einzelnen Ressourcen im Dienstobjekt selbst.
Der Erkennungsdienst hat eine
Apis
-Ressource, die eineList
-Methode enthält. Wenn Sieservice.Apis.List(..)
aufrufen, wird ein auf diese Methode ausgerichtetes Anfrageobjekt zurückgegeben.
Rufen Sie zum Ausführen einer Anfrage die MethodeExecute()
oderExecuteAsyc()
auf. - Legen Sie den API-Schlüssel mit dem Attribut
ApiKey
auf der InstanzBaseClientService.Initializer
fest.
Informationen zu den APIs finden
Die Unterstützte APIs enthält eine Liste aller APIs, auf die über diese Bibliothek zugegriffen werden kann, sowie Links zur Dokumentation.
Sie können auch die APIs Explorer um APIs zu durchsuchen, verfügbare Methoden aufzulisten und API-Aufrufe in Ihrem Browser auszuprobieren.