Apakah pengguna Anda menggunakan Classroom dengan Google Meet? Lihat panduan memulai Apps Script yang membahas cara memeriksa kehadiran siswa di kursus Google Meet.

Panduan Memulai Python

Selesaikan langkah-langkah yang dijelaskan di bagian selanjutnya halaman ini untuk membuat aplikasi command line Python sederhana yang membuat permintaan ke Classroom API.

Prasyarat

Untuk menjalankan panduan memulai ini, Anda memerlukan prasyarat berikut:

  • Python 2.6 atau yang lebih baru.
  • Alat pengelolaan paket pip
  • Project Google Cloud Platform dengan API yang diaktifkan. Untuk membuat project dan mengaktifkan API, lihat Membuat project dan mengaktifkan API
  • Kredensial otorisasi untuk aplikasi desktop. Untuk mempelajari cara membuat kredensial untuk aplikasi desktop, lihat Membuat kredensial.

  • Akun G Suite for Education dengan Google Classroom yang aktif.

Langkah 1: Instal library klien Google

Untuk menginstal library klien Google untuk Python, jalankan perintah berikut:

  pip install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib

Untuk opsi penginstalan alternatif, lihat bagian Penginstalan library Python.

Langkah 2: Konfigurasikan sampel

Untuk mengonfigurasi sampel:

  1. Dalam direktori kerja Anda, buat file bernama quickstart.py.
  2. Sertakan kode berikut di quickstart.py:

    class/quickstart/quickstart.py
    from __future__ import print_function
    
    import os.path
    
    from google.auth.transport.requests import Request
    from google.oauth2.credentials import Credentials
    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.discovery import build
    from googleapiclient.errors import HttpError
    
    # If modifying these scopes, delete the file token.json.
    SCOPES = ['https://www.googleapis.com/auth/classroom.courses.readonly']
    
    
    def main():
        """Shows basic usage of the Classroom API.
        Prints the names of the first 10 courses the user has access to.
        """
        creds = None
        # 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.
        if os.path.exists('token.json'):
            creds = Credentials.from_authorized_user_file('token.json', SCOPES)
        # If there are no (valid) credentials available, let the user log in.
        if not creds or not creds.valid:
            if creds and creds.expired and creds.refresh_token:
                creds.refresh(Request())
            else:
                flow = InstalledAppFlow.from_client_secrets_file(
                    'credentials.json', SCOPES)
                creds = flow.run_local_server(port=0)
            # Save the credentials for the next run
            with open('token.json', 'w') as token:
                token.write(creds.to_json())
    
        try:
            service = build('classroom', 'v1', credentials=creds)
    
            # Call the Classroom API
            results = service.courses().list(pageSize=10).execute()
            courses = results.get('courses', [])
    
            if not courses:
                print('No courses found.')
                return
            # Prints the names of the first 10 courses.
            print('Courses:')
            for course in courses:
                print(course['name'])
    
        except HttpError as error:
            print('An error occurred: %s' % error)
    
    
    if __name__ == '__main__':
        main()

Langkah 3: Jalankan contoh

Untuk menjalankan contoh:

  1. Dari command line, jalankan perintah berikut:

    python quickstart.py
    
  2. (opsional). Jika ini adalah pertama kalinya Anda menjalankan sampel, sampel akan membuka jendela baru yang meminta Anda untuk mengizinkan akses ke data Anda:

    1. Jika belum login ke Akun Google, Anda akan diminta untuk login. Jika login ke beberapa akun Google, Anda akan diminta untuk memilih satu akun yang akan digunakan untuk otorisasi.
    1. Klik Terima. Aplikasi ini diotorisasi untuk mengakses data Anda.
  3. Sampel dijalankan.

Jika mengalami masalah, lihat bagian Memecahkan masalah sampel.

Memecahkan masalah sampel

Bagian ini menjelaskan beberapa masalah umum yang mungkin Anda alami saat mencoba menjalankan panduan memulai ini dan menyarankan solusi yang memungkinkan.

AttributeError: 'Module_six_moves_urllib_parse' object has no attribute 'urlparse'

Error ini dapat terjadi di Mac OSX yang penginstalan default modul six (dependensi library Python) dimuat sebelum yang diinstal dengan pip. Untuk memperbaiki masalah ini, tambahkan lokasi penginstalan pip ke variabel lingkungan sistem PYTHONPATH:

  1. Tentukan lokasi penginstalan pip dengan perintah berikut:

    pip show six | grep "Location:" | cut -d " " -f2
    
  2. Tambahkan baris berikut ke file ~/.bashrc Anda, dengan mengganti <pip_install_path> dengan nilai yang ditentukan di atas:

    export PYTHONPATH=$PYTHONPATH:<pip_install_path>
    
  3. Muat ulang file ~/.bashrc Anda di jendela terminal yang terbuka menggunakan perintah berikut:

    source ~/.bashrc
    

TypeError: sequence item 0: expected str instance, bytes found

Error ini disebabkan oleh bug pada httplib2. Untuk mengatasi masalah ini, upgrade ke versi httplib2 terbaru menggunakan perintah ini:

pip install --upgrade httplib2

Cannot uninstall 'six'

Saat menjalankan perintah pip install, Anda mungkin menerima error berikut:

"Tidak dapat meng-uninstal 'enam'. Ini adalah project distutils yang diinstal, sehingga kami tidak dapat menentukan secara akurat file mana yang termasuk dalam project tersebut dan hanya akan menyebabkan uninstal sebagian."

Error ini terjadi di Mac OSX saat pip mencoba mengupgrade paket six yang telah diinstal sebelumnya. Untuk mengatasi masalah ini, tambahkan flag --ignore-installed six ke perintah pip install yang tercantum pada langkah 2.

This app isn't verified

Jika layar izin OAuth menampilkan peringatan "Aplikasi ini tidak diverifikasi,"aplikasi Anda meminta cakupan yang menyediakan akses ke data pengguna yang sensitif. Jika menggunakan cakupan sensitif, aplikasi harus melalui proses verifikasi untuk menghapus peringatan tersebut dan batasan lainnya. Selama fase pengembangan, Anda dapat melanjutkan melewati peringatan ini dengan memilih Advanced > Buka {Project Name}(tidak aman).

File not found error for credentials.json

Saat menjalankan contoh, Anda mungkin menerima file yang tidak ditemukan atau tidak memiliki error file terkait credentials.json.

Error ini terjadi jika Anda belum mengotorisasi kredensial aplikasi desktop seperti yang dijelaskan di bagian Prasyarat di atas. Untuk mempelajari cara membuat kredensial untuk aplikasi desktop, buka Membuat kredensial.

Setelah membuat kredensial, pastikan file JSON yang didownload disimpan sebagai credentials.json. Kemudian, pindahkan file ke direktori kerja Anda beserta kode panduan memulai lainnya.

Bacaan lebih lanjut

Untuk informasi lebih lanjut tentang API yang digunakan di panduan memulai ini, lihat hal berikut: