Некоторые функции платформы используют вызовы 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 сервера показано, как разблокировать полученное пользователем достижение, контролируемое на стороне клиента. В этом примере предполагается, что вы уже создали достижение и интегрировали обработчики в свое приложение. Подробнее см. в статье Достижения.
Получите ID пользователя. Чтобы вызвать Meta Quest API от имени пользователя, вам необходимо указать аккаунт Meta, идентифицирующий этого пользователя. Чтобы получить ID, вызовите ovr_User_GetLoggedInUser в Unity. Будет возвращен ovrID пользователя.
Передайте информацию на свой доверенный сервер. После получения аккаунта Meta передайте эту запись и api_name достижения, которое вы хотите обновить или разблокировать, с клиентского устройства на ваш сервер.
Создайте маркер доступа приложения. Используйте следующие учетные данные, полученные в разделе Development (Разработка) > API на панели разработчика:
Примечание. Показанные выше значения ID и секрета приложения являются примерами. Замените их учетными данными вашего приложения с панели разработчика.
Затем вы можете создать маркер доступа приложения, подобный этому: OC|1234567898014273|5f8730a4n51c5f8v8122aaf971b937e7.
Вызовите API, чтобы разблокировать достижение. После получения информации с клиентского устройства и создания маркера доступа приложения отправьте вызов API, чтобы разблокировать достижение.