Donutgramплагины
На этой страницеAPI network

Публичные запросы

Запрашивайте публичные HTTPS-данные через нативный сетевой брокер.

API network

Используйте профиль publicNetwork и возможность network.public / declaredOrigins. Разрешённые origins перечисляются точно, без wildcard.

Манифест

{
  "profile": "publicNetwork",
  "permissions": [
    {
      "capability": "network.public",
      "scope": "declaredOrigins",
      "reason": "Показать публичные сведения о репозитории",
      "origins": ["https://api.github.com"]
    },
    {
      "capability": "ui.contribute",
      "scope": "settings",
      "reason": "Открыть публичные сведения в настройках"
    }
  ]
}

Это фрагмент манифеста. Сетевой профиль не объединяется с доступом к приватным сообщениям и черновикам.

Выполнить запрос

const response = await api.network.request({
  url: "https://api.github.com/repos/madler/zlib",
  method: "GET"
});

if (response.status !== 200) throw new Error("Не удалось получить данные");
const repository = JSON.parse(response.body);
await api.ui.toast(String(repository.full_name));

Результат содержит url, status, headers и body как UTF-8 текст.

Ограничения контракта

Поддерживаются GET и HEAD к публичным HTTPS-узлам. Параметров для cookies, авторизации, upload, произвольных headers или тела запроса нет. Редиректы не следуются автоматически.

Ответ — пассивные данные. Его нельзя выполнять как JavaScript, импортировать в runtime или использовать как нативную HTML-страницу.

Доступность

Нативный транспорт зависит от платформы. Проверка mock-примера не делает настоящий HTTP-запрос и не подтверждает работоспособность TLS на устройстве.

Рабочая структура публичной интеграции — public-repository в примерах.