Verwenden Ihre Nutzer Classroom mit Google Meet? Sehen Sie sich die Apps Script-Kurzanleitung zum Ansehen der Teilnahme von Schülern/Studenten in Google Meet-Kursen an.

.NET-Kurzanleitung

Führen Sie die im Folgenden beschriebenen Schritte aus, um eine einfache .NET Console-Anwendung zu erstellen, die Anfragen an die Classroom API sendet.

Voraussetzungen

Für diese Kurzanleitung sind folgende Voraussetzungen erforderlich:

  • Visual Studio 2013 oder höher
  • Ein Google Cloud Platform-Projekt mit aktivierter API. Informationen zum Erstellen eines Projekts und zum Aktivieren einer API finden Sie unter Projekt erstellen und API aktivieren.
  • Anmeldedaten für die Autorisierung einer Desktopanwendung Informationen zum Erstellen von Anmeldedaten für eine Desktopanwendung finden Sie unter Anmeldedaten erstellen.

  • Ein G Suite for Education-Konto mit aktiviertem Google Classroom.

Schritt 1: Projekt vorbereiten

  1. Neues Visual C# Console-Anwendungsprojekt in Visual Studio erstellen
  2. Öffnen Sie die NuGet-Paketmanager-Konsole, wählen Sie die Paketquelle nuget.org aus und führen Sie den folgenden Befehl aus:
Install-Package Google.Apis.Classroom.v1

Schritt 2: Beispiel einrichten

  1. Ziehen Sie credentials.json, das Sie vor der Anfrage heruntergeladen haben, in den Visual Studio Solution Explorer.
  2. Wählen Sie credentials.json aus, gehen Sie zum Fenster „Eigenschaften“ und legen Sie das Feld In Ausgabeverzeichnis kopieren auf Immer kopieren fest.
  3. Ersetzen Sie den Inhalt von Program.cs durch den folgenden Code:

Classroom/ClassroomKurzanleitung/ClassroomKurzanleitung.cs
using Google.Apis.Auth.OAuth2;
using Google.Apis.Classroom.v1;
using Google.Apis.Classroom.v1.Data;
using Google.Apis.Services;
using Google.Apis.Util.Store;
using System;
using System.IO;
using System.Threading;

namespace ClassroomQuickstart
{
    // Class to demonstrate the use of Classroom courses list API
    class Program
    {
        /* Global instance of the scopes required by this quickstart.
         If modifying these scopes, delete your previously saved token.json/ folder. */
        static string[] Scopes = {ClassroomService.Scope.ClassroomCoursesReadonly};
        static string ApplicationName = "Classroom API .NET Quickstart";

        static void Main(string[] args)
        {
            try
            {
                UserCredential credential;
                // Load client secrets.
                using (var stream =
                       new FileStream("credentials.json", FileMode.Open, FileAccess.Read))
                {
                    /* The file token.json stores the user's access and refresh tokens, and is created
                     automatically when the authorization flow completes for the first time. */
                    string credPath = "token.json";
                    credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
                        GoogleClientSecrets.FromStream(stream).Secrets,
                        Scopes,
                        "user",
                        CancellationToken.None,
                        new FileDataStore(credPath, true)).Result;
                    Console.WriteLine("Credential file saved to: " + credPath);
                }

                // Create Classroom API service.
                var service = new ClassroomService(new BaseClientService.Initializer
                {
                    HttpClientInitializer = credential,
                    ApplicationName = ApplicationName
                });

                // Define request parameters.
                CoursesResource.ListRequest request = service.Courses.List();
                request.PageSize = 10;

                // List courses.
                ListCoursesResponse response = request.Execute();
                Console.WriteLine("Courses:");
                if (response.Courses -= null || response.Courses.Count == 0)
                {
                    Console.WriteLine("No courses found.");
                    return;
                }
                foreach (var course in response.Courses)
                {
                    Console.WriteLine("{0} ({1})", course.Name, course.Id);
                }
            }
            catch (FileNotFoundException e)
            {
                Console.WriteLine(e.Message);
            }
        }
    }
}

Schritt 3: Beispiel ausführen

Erstellen Sie das Beispiel und führen Sie es aus. Klicken Sie dazu in der Visual Studio-Symbolleiste auf Starten.

Wenn Sie das Beispiel zum ersten Mal ausführen, werden Sie aufgefordert, den Zugriff zu autorisieren:

  1. Im Beispiel wird versucht, ein neues Fenster oder einen neuen Tab in Ihrem Standardbrowser zu öffnen. Wenn dies nicht funktioniert, kopieren Sie die URL aus der Konsole und öffnen Sie sie manuell in Ihrem Browser.

    Wenn Sie noch nicht in Ihrem Google-Konto angemeldet sind, werden Sie aufgefordert, sich anzumelden. Wenn Sie in mehreren Google-Konten angemeldet sind, werden Sie aufgefordert, ein Konto für die Autorisierung auszuwählen.

  2. Klicken Sie auf die Schaltfläche Akzeptieren.
  3. Die Stichprobe wird automatisch fortgesetzt und Sie können das Fenster oder den Tab schließen.

Hinweise

  • Autorisierungsinformationen werden im Dateisystem gespeichert, sodass nachfolgende Ausführungen nicht zur Autorisierung aufgefordert werden.
  • Der Autorisierungsablauf in diesem Beispiel wurde für eine Befehlszeilenanwendung entwickelt. Informationen zum Ausführen der Autorisierung in einer Webanwendung finden Sie im Abschnitt Webanwendungen des OAuth 2.0-Leitfadens der Bibliothek.

Fehlerbehebung

In diesem Abschnitt werden einige häufige Probleme beschrieben, die beim Ausführen dieser Kurzanleitung auftreten können, und Vorschläge für mögliche Lösungen.

Datei oder Assembler konnte nicht geladen werden; Microsoft.Threading.Tasks'

Dieser Fehler kann auftreten, wenn eine veraltete oder falsch installierte Version des Microsoft.Bcl.Async-Pakets verwendet wird. Installieren Sie das Paket mit dem folgenden Befehl in der NuGet-Paketmanager-Konsole neu:

Update-Package Microsoft.Bcl.Async -reinstall

Sie werden aufgefordert, Visual Studio neu zu starten, um die Installation abzuschließen.

This app isn't verified

Wenn auf dem OAuth-Zustimmungsbildschirm die Warnung angezeigt wird, dass Ihre App nicht bestätigt ist, fordert Ihre App Bereiche an, die Zugriff auf vertrauliche Nutzerdaten ermöglichen. Wenn Ihre Anwendung vertrauliche Bereiche verwendet, muss Ihre Anwendung den Bestätigungsprozess durchlaufen, um diese Warnung und andere Einschränkungen zu entfernen. In der Entwicklungsphase können Sie diese Warnung über Advanced > Go to {Project Name}(unsicher) weiterverwenden.

File not found error for credentials.json

Beim Ausführen des Beispiels wird möglicherweise eine Datei gefunden, die nicht gefunden wurde, oder ein solcher Dateifehler in Bezug auf „credentials.json“.

Dieser Fehler tritt auf, wenn Sie die Anmeldedaten für die Desktopanwendung nicht wie oben im Abschnitt Voraussetzungen beschrieben autorisiert haben. Informationen zum Erstellen von Anmeldedaten für eine Desktopanwendung finden Sie unter Anmeldedaten erstellen.

Nachdem Sie die Anmeldedaten erstellt haben, speichern Sie die heruntergeladene JSON-Datei als credentials.json. Verschieben Sie dann die Datei mit dem restlichen Beispielcode in Ihr Arbeitsverzeichnis.

Weitere Informationen