← Cloudflare Pages / pages / functions / plugins
Google Chat
Google Chat Pages Plugin создаёт бота Google Chat, который может отвечать на сообщения. Он также включает API для взаимодействия с Google Chat (например, для создания сообщений) без участия пользователя. Этот API полезен в таких случаях, как оповещения.
Установка
npm i @cloudflare/pages-plugin-google-chatИспользование
import googleChatPlugin from "@cloudflare/pages-plugin-google-chat";
export const onRequest: PagesFunction = googleChatPlugin(async (message) => {
if (message.text.includes("ping")) {
return { text: "pong" };
}
return { text: "Sorry, I could not understand your message." };
});Плагин принимает функцию, которая, в свою очередь, принимает входящее сообщение и возвращает Promise сообщения ответа (или void если ответа быть не должно).
Плагин предоставляет только один маршрут: URL-адрес, который следует указать в Google Cloud Console при создании бота.
API
К API Google Chat можно обращаться напрямую с помощью GoogleChatAPI класс:
import { GoogleChatAPI } from "@cloudflare/pages-plugin-google-chat/api";
export const onRequest: PagesFunction = () => {
// Initialize a GoogleChatAPI with your service account's credentials
const googleChat = new GoogleChatAPI({
credentials: {
client_email: "SERVICE_ACCOUNT_EMAIL_ADDRESS",
private_key: "SERVICE_ACCOUNT_PRIVATE_KEY",
},
});
// Post a message
// https://developers.google.com/chat/api/reference/rest/v1/spaces.messages/create
const message = await googleChat.createMessage(
{ parent: "spaces/AAAAAAAAAAA" },
undefined,
{
text: "I'm an alert!",
},
);
return new Response("Alert sent.");
};Рекомендуем хранить учётные данные сервисного аккаунта в KV, а не в виде обычного текста, как показано выше.
Следующие функции доступны для GoogleChatAPI экземпляр. Каждый принимает до трёх аргументов: объект параметров пути, объект параметров запроса и объект тела запроса, как описано в документация Google Chat API ↗.