|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|
|
|
SCOPES = [ 'https://www.googleapis.com/auth/classroom.courses', |
|
'https://www.googleapis.com/auth/drive.readonly.metadata', |
|
'https://www.googleapis.com/auth/classroom.announcements', |
|
'https://www.googleapis.com/auth/classroom.courses', |
|
'https://www.googleapis.com/auth/classroom.coursework.me', |
|
'https://www.googleapis.com/auth/classroom.coursework.students', |
|
'https://www.googleapis.com/auth/classroom.courseworkmaterials', |
|
'https://www.googleapis.com/auth/classroom.guardianlinks.students', |
|
'https://www.googleapis.com/auth/classroom.profile.emails', |
|
'https://www.googleapis.com/auth/classroom.profile.photos', |
|
'https://www.googleapis.com/auth/classroom.push-notifications', |
|
'https://www.googleapis.com/auth/classroom.rosters', |
|
'https://www.googleapis.com/auth/classroom.rosters.readonly', |
|
'https://www.googleapis.com/auth/classroom.topics'] |
|
|
|
def carregar_credenciais(): |
|
creds = None |
|
|
|
|
|
|
|
if os.path.exists('token.json'): |
|
creds = Credentials.from_authorized_user_file('token.json', SCOPES) |
|
|
|
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) |
|
|
|
with open('token.json', 'w') as token: |
|
token.write(creds.to_json()) |
|
return creds |
|
|
|
def criar_atividade(creds, course_id): |
|
|
|
try: |
|
service = build('classroom', 'v1', credentials=creds) |
|
coursework = { |
|
'title': 'Tarefa 3', |
|
'description': '''Tarefa 3.''', |
|
'materials': [ |
|
{'link': {'url': 'http://example.com/ant-colonies'}}, |
|
{'link': {'url': 'http://example.com/ant-quiz'}}, |
|
{'link': {'url': 'https://docs.google.com/forms/d/e/1FAIpQLSeUSDBh0czeWRazc4Ymw-bhKV5clhzQSBPnRU6z6NQiJSuzDg/viewform'}} |
|
], |
|
'workType': 'ASSIGNMENT', |
|
'state': 'PUBLISHED', |
|
} |
|
coursework = service.courses().courseWork().create(courseId=course_id, body=coursework).execute() |
|
print(f"Assignment created with ID {coursework.get('id')}") |
|
|
|
except HttpError as error: |
|
print('An error occurred: %s' % error) |
|
|
|
|
|
if __name__ == '__main__': |
|
creds = carregar_credenciais() |
|
criar_atividade(creds, "617087903681") |
|
|
|
|