Métodos de visualização no acesso antecipado a complementos

Os métodos de API em programas de acesso antecipado ou visualização particular são particulares, o que significa que não são expostos nas bibliotecas de cliente padrão e podem não estar acessíveis por padrão por HTTP. Nesta página, descrevemos como acessar esses métodos de visualização.

Este documento discute quatro opções para consumir a API de prévia:

  1. Bibliotecas de cliente estáticas fornecidas pelo Google.
  2. Bibliotecas de cliente geradas dinamicamente.
  3. Solicitações HTTP diretas
  4. Sua própria biblioteca de cliente personalizada

O uso de bibliotecas estáticas ou geradas dinamicamente fornecidas pelo Google é a maneira recomendada de usar a API.

Bibliotecas estáticas

As bibliotecas de cliente em linguagens como Java, Node.js, PHP e C# precisam ser criadas com base na origem. Essas bibliotecas são fornecidas nos downloads das bibliotecas de cliente e já têm os métodos de visualização.

Talvez seja necessário modificar sua configuração de dependências típica para usar essas bibliotecas locais em vez de importar as bibliotecas de cliente padrão, que não têm os métodos de visualização.

Por exemplo, se você estiver usando Node.js e npm, adicione o download da biblioteca de cliente Node.js (googleapis-classroom-1.0.4.tgz) como uma dependência local em package.json:

{
  "name": "nodejs-classroom-example",
  "version": "1.0.0",
  ...
  "dependencies": {
    "@google-cloud/local-auth": "^2.1.0",
    "googleapis": "^95.0.0",
    "classroom-with-addons": "file:./googleapis-classroom-1.0.4.tgz"
  }
}

Em seguida, no aplicativo, exija o módulo classroom-with-addons, além das dependências regulares, e instancie o serviço classroom a partir desse módulo:

const {authenticate} = require('@google-cloud/local-auth');
const {google} = require('googleapis');
const classroomWithAddons = require('classroom-with-addons');

...

const classroom = classroomWithAddons.classroom({
  version: 'v1',
  auth: auth,
});

...

Bibliotecas dinâmicas

As bibliotecas em linguagens como Python geram a biblioteca de cliente no ambiente de execução usando um documento de descoberta do serviço de descoberta.

Um documento de descoberta é uma especificação legível por máquina para descrever e consumir APIs REST. Ele é usado para criar bibliotecas de cliente, plug-ins de ambiente de desenvolvimento integrado e outras ferramentas que interagem com as APIs do Google. Um serviço pode fornecer vários documentos de descoberta.

Os documentos de descoberta do serviço da API Classroom (classroom.googleapis.com) podem ser encontrados neste endpoint:

  • https://classroom.googleapis.com/$discovery/rest?labels=<PREVIEW_LABEL>&version=v1&key=<Chave de API>

Para gerar a biblioteca Python e instanciar o serviço Sala de Aula com métodos complementares, especifique o URL de descoberta com o serviço, as credenciais e o rótulo apropriados:

classroom_service_with_rubrics = googleapiclient.discovery.build(
  serviceName="classroom",
  version="v1",
  credentials=credentials,
  static_discovery=False,
  discoveryServiceUrl=f"https://classroom.googleapis.com/$discovery/rest?labels=ADD_ONS_ALPHA&key=ABCXYZ")

Consulte a documentação da biblioteca de cliente individual da API do Google para ver detalhes de cada linguagem. A diferença importante para trabalhar com APIs de visualização é especificar a label adequada. Nesta visualização, o rótulo é ADD_ONS_ALPHA.

Solicitações HTTP

Se você fizer solicitações HTTP sem uma biblioteca de cliente, inclua o rótulo (ADD_ONS_ALPHA) como um cabeçalho X-Goog-Visibilities.

Por exemplo, para ver todos os anexos criados por um complemento em uma postagem, use a seguinte solicitação curl:

curl \
  'https://classroom.googleapis.com/v1/courses/[courseId]/posts/[postId]/addOnAttachments?key=[YOUR_API_KEY]' \
  --header 'X-Goog-Visibilities: ADD_ONS_ALPHA' \
  --header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
  --header 'Accept: application/json' \
  --compressed

A API de cada solicitação HTTP é descrita na documentação REST.

Bibliotecas de cliente personalizadas

Consulte Criar bibliotecas de cliente se precisar criar sua própria biblioteca. Criar sua própria biblioteca está fora do escopo deste guia, mas consulte a seção Bibliotecas dinâmicas para saber mais sobre os rótulos de visualização e o papel deles na descoberta.