Разработка

Общие сведения о взаимодействии "сервер-сервер"

Некоторые функции платформы используют вызовы REST API "сервер-сервер" для выполнения операций, которые нецелесообразно отправлять с клиентских устройств. Эти API предназначены для обеспечения безопасного взаимодействия между вашими внутренними серверами и платформой Meta Horizon.
Например, мы используем эти API для повышения безопасности покупок в приложении и предотвращения мошенничества.
Подробнее об отдельных вызовах "сервер-сервер" см. по ссылкам в разделе Функции.

Общие сведения об использовании сообщений

Вам следует ознакомиться с некоторыми общими сведениями об использовании сообщений при взаимодействии "сервер-сервер".

Требования к API "сервер-сервер"

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

Конечная точка

Все запросы "сервер-сервер" необходимо выполнять к следующей конечной точке:
https://graph.oculus.com

Маркер доступа

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

Учетные данные для приложения

Учетные данные для приложения подтверждают, что ваша серверная часть относится к доверенным ресурсам. Не передавайте их никаким клиентским приложениям.
Маркер доступа с учетными данными приложения содержит ID и секрет приложения со страницы API Панели разработчика Meta Horizon. Он имеет следующий формат: OC|$APPID|$APPSECRET.
Если ваши учетные данные были раскрыты посторонним лицам или вам нужны новые учетные данные для доступа к API, создайте новый секрет приложения. Если изменить секрет приложения, разрешения для прежнего секрета будут отменены. Для доступа к секрету приложения требуется аккаунт с правами администратора.

Маркер доступа пользователя

Маркер этого типа обеспечивает аутентификацию запросов от имени того или иного пользователя. Такой маркер подойдет, когда действия выполняются определенным пользователем, например если вам нужно добавить в таблицу лидеров, которую ведет клиент, результаты матча на сервере с участием нескольких игроков. При отправке запросов на изменение таблицы лидеров нужно будет пройти аутентификацию сервера для каждого пользователя, предоставляя маркер доступа.
Чтобы получить маркер, используйте метод ovr_User_GetAccessToken().
Возвращенный в ответе маркер можно передать от клиента вашему серверу. Маркер доступа пользователя содержит FRL или OC и длинную строку из букв и цифр, например: FRL12342GhFccWvUBxPMR4KXzM5s2ZCMp0mlWGq0ZBrOMXyjh4EmuAPvaXiMCAMV9okNm9DXdUA2EWNplrQ.
Кроме того, маркер пользователя можно получить для тестирования в разделе User Token (Маркер пользователя) на странице API Панели разработчика Meta Horizon, которая находится на левой панели навигации.

ID приложения

Для некоторых вызовов сервера требуется ID приложения, который можно найти на странице API Панели разработчика Meta Horizon.

Пример вызова сервера

В этом примере вызова API сервера показано, как разблокировать полученное пользователем достижение, контролируемое на стороне клиента. В этом примере предполагается, что вы уже создали достижение и интегрировали обработчики в свое приложение. Подробнее см. в статье Достижения.
  1. Получите ID пользователя. Чтобы вызвать Meta Quest API от имени пользователя, вам необходимо указать аккаунт Meta, идентифицирующий этого пользователя. Чтобы получить ID, вызовите ovr_User_GetLoggedInUser в Unity. Будет возвращен ovrID пользователя.
  2. Передайте информацию на свой доверенный сервер. После получения аккаунта Meta передайте эту запись и api_name достижения, которое вы хотите обновить или разблокировать, с клиентского устройства на ваш сервер.
  3. Создайте маркер доступа приложения. Используйте следующие учетные данные, полученные в разделе Development (Разработка) > API на панели разработчика:
    • ID приложения — 1234567898014273;
    • секрет приложения — 5f8730a4n51c5f8v8122aaf971b937e7.
Примечание. Показанные выше значения ID и секрета приложения являются примерами. Замените их учетными данными вашего приложения с панели разработчика.
Затем вы можете создать маркер доступа приложения, подобный этому: OC|1234567898014273|5f8730a4n51c5f8v8122aaf971b937e7.
  1. Вызовите API, чтобы разблокировать достижение. После получения информации с клиентского устройства и создания маркера доступа приложения отправьте вызов API, чтобы разблокировать достижение.
curl -d "access_token=OC|$APP_ID|$APP_SECRET" -d "api_name=MY_SIMPLE_ACHIEVEMENT" -d "force_unlock=true" https://graph.oculus.com/$USER_ID/achievements
Ниже показан ответ, который указывает, что запрос выполнен.
{ "id":"$USERID", "api_name":"MY_SIMPLE_ACHIEVEMENT", "just_unlocked":true }
Затем вы можете отправить клиенту ответное сообщение о том, что достижение разблокировано.

Функции, использующие серверные API

Список решений платформы, которые предоставляют серверные API:

Ответы с сообщениями об ошибках и коды HTTP

Компоненты REST API "сервер-сервер" Meta Quest используют стандартные коды статуса HTTP для указания проблемы.
КодСтатус
400
Неправильный запрос
401
Несанкционированный запрос
403
Запрещенный запрос
404
Не найдено
500
Внутренняя ошибка сервера
Логотип навигации
Русский
© 2026 Meta