Методы API в программах раннего доступа или частной предварительной версии являются частными , то есть они не отображаются в стандартных клиентских библиотеках и могут быть недоступны по умолчанию через HTTP. На этой странице описывается, как получить доступ к этим методам предварительного просмотра.
В этом документе обсуждаются четыре варианта использования API предварительного просмотра:
- Статические клиентские библиотеки, предоставляемые Google.
- Динамически генерируемые клиентские библиотеки.
- Прямые HTTP-запросы.
- Ваша собственная клиентская библиотека.
Рекомендуемым способом использования 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.