Методы предварительного просмотра в раннем доступе к дополнениям

Методы API в программах раннего доступа или частной предварительной версии являются частными , то есть они не отображаются в стандартных клиентских библиотеках и могут быть недоступны по умолчанию через HTTP. На этой странице описывается, как получить доступ к этим методам предварительного просмотра.

В этом документе обсуждаются четыре варианта использования API предварительного просмотра:

  1. Статические клиентские библиотеки, предоставляемые Google.
  2. Динамически генерируемые клиентские библиотеки.
  3. Прямые HTTP-запросы.
  4. Ваша собственная клиентская библиотека.

Рекомендуемым способом использования API является использование статических или динамически создаваемых библиотек Google.

Статические библиотеки

Клиентские библиотеки на таких языках, как Java, Node.js, PHP и C#, должны быть собраны из исходного кода. Эти библиотеки предоставляются вам в виде загрузок клиентских библиотек и уже имеют методы предварительного просмотра.

Возможно, вам придется изменить типичную конфигурацию зависимостей, чтобы использовать эти локальные библиотеки вместо импорта стандартных клиентских библиотек, у которых нет методов предварительного просмотра.

Например, если вы используете Node.js и npm, добавьте загрузку клиентской библиотеки Node.js ( googleapis-classroom-1.0.4.tgz ) в качестве локальной зависимости в 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"
  }
}

Затем в вашем приложении в дополнение к обычным зависимостям потребуется модуль classroom-with-addons и создайте экземпляр сервиса classroom из этого модуля:

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,
});

...

Динамические библиотеки

Библиотеки на таких языках, как Python, генерируют клиентскую библиотеку во время выполнения, используя документ Discovery из службы Discovery .

Документ обнаружения — это машиночитаемая спецификация для описания и использования REST API. он используется для создания клиентских библиотек , плагинов IDE и других инструментов, взаимодействующих с API Google. Одна служба может предоставлять несколько документов обнаружения.

Документы обнаружения для службы Classroom API ( classroom.googleapis.com ) можно найти по следующей конечной точке:

  • https://classroom.googleapis.com/$discovery/rest?labels= <PREVIEW_LABEL> &version=v1&key= <ключ API>

Чтобы создать библиотеку Python и создать экземпляр службы Classroom с помощью дополнительных методов, вы можете указать URL-адрес обнаружения с соответствующей службой, учетными данными и меткой:

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")

Подробную информацию о каждом языке см. в документации по отдельной клиентской библиотеке Google API. Важным отличием работы с API предварительного просмотра является указание соответствующей label . В этом предварительном просмотре эта метка — ADD_ONS_ALPHA .

HTTP-запросы

Если вы отправляете HTTP-запросы без клиентской библиотеки, обязательно включите метку ( ADD_ONS_ALPHA ) в качестве заголовка X-Goog-Visibilities .

Например, чтобы просмотреть все вложения, созданные надстройкой под публикацией, используйте следующий запрос 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

API для каждого HTTP-запроса описан в документации REST .

Пользовательские клиентские библиотеки

См. раздел «Создание клиентских библиотек» , если вам нужно создать собственную библиотеку. Создание собственной библиотеки выходит за рамки данного руководства, но вам следует просмотреть раздел «Динамические библиотеки» , чтобы узнать о метках предварительного просмотра и их роли в Discovery.