Я пытаюсь проверить подписку Google в приложении на моем сервере.
Мне кажется, что для этого мне нужно создать учетную запись службы.
После привязки Google Play к облачной платформе Google. Я вижу, что он автоматически создал проект «Разработчик Google Play Android» на моей облачной платформе Google.
Теперь я создал учетную запись службы в рамках проекта «Разработчик Google Play Android» с «ролью владельца» для всего проекта.
Но по какой-то причине, когда я использую эту учетную запись службы и пытаюсь проверить PurchaseToken, я получаю сообщение об ошибке «У текущего пользователя недостаточно прав для выполнения запрошенной операции».
Я использую серверную часть nodejs с этим https://www.npmjs.com/package/iap библиотека.
iap.verifyPayment('google', {
receipt: "<purchaseToken>",
keyObject: {
"type": "service_account",
"project_id": "<project_id_that_was_created_for_me>",
"private_key_id": "<private_key_id>",
"private_key": "-----BEGIN PRIVATE KEY-----\nblah\n-----END PRIVATE KEY-----\n",
"client_email": "google-play-owner@project_id_that_was_created_for_me.iam.gserviceaccount.com",
"client_id": "---",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "---"
},
productId: "my.app.membership_1_month",
subscription: true,
packageName: "my.app"
}, function (error, response) {
console.log(error);
});
Это ошибка, которую я получаю
"errors": [
{
"domain": "androidpublisher",
"reason": "permissionDenied",
"message": "The current user has insufficient permissions to perform the requested operation."
}
]