Кто-нибудь знает, как пройти аутентификацию в API-интерфейсе batchImport
службы идентификации экземпляров Firebase (https://developers.google.com/instance-id/reference/server) с помощью Google Application Credential?
Или какая роль IAM требуется для учетная запись службы, связанная с учетными данными?
Используемая в данный момент учетная запись службы имеет роль Firebase Admin SDK Administrator Service Agent
, и она может проходить аутентификацию в API batchAdd
, например:
POST /iid/v1:batchAdd HTTP/1.1
Host: iid.googleapis.com
Authorization: Bearer {MY ACCESS TOKEN OF THE SERVICE ACCOUNT}
Content-Type: application/json
access_token_auth: true
Connection: close
{"to":"/topics/MY_FCM_TOPIC","registration_tokens":["MY_FCM_INSTANCE_TOKEN"]}
он отвечает 200 OK:
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Connection: close
{"results":[{}]}
Однако, если я перехожу на использование batchImport
API с тем же токеном доступа:
POST /iid/v1:batchImport HTTP/1.1
Host: iid.googleapis.com
Authorization: Bearer {MY ACCESS TOKEN OF THE SERVICE ACCOUNT}
Content-Type: application/json
access_token_auth: true
Connection: close
{"application":"MY iOS APP BUNDLE ID","sandbox":false,"apns_tokens":["MY_APNS_TOKEN"]}
, он ответит 401 Не авторизовано:
HTTP/1.1 401 Unauthorized
Content-Type: application/json; charset=UTF-8
Connection: close
{"error":"Not authenticated or unauthorized"}
Не поддерживает ли batchImport
API аутентификация с помощью токена доступа OAuth?
Или в моей учетной записи службы отсутствуют некоторые разрешения?