Мы готовим триггер Firebase для обработки уведомлений разработчиков Android в режиме реального времени, и нам нужно использовать Google Play Developer API, чтобы понять детали подписок пользователей. Таким образом, мы привязали учетную запись службы firebase в Google Play Console, а также предоставили необходимый доступ.
Мы использовали библиотеку google nodejs для googleapis (ссылка на github) и написали фрагмент кода как это:
return google.auth.getClient({
keyFile: path.join(__dirname, './service-account.json'),
scope: 'https://www.googleapis.com/auth/androidpublisher'
}) .then((client) => {
const androidpublisher = google.androidpublisher({
version: 'v3',
auth: client
});
const params = {
packageName: ANDROID_PACKAGE_NAME,
subscriptionId: ANDROID_SUBSCRIPTIONID,
token: token
};
return androidpublisher.purchases.subscriptions.get(params)
.then(res => {
console.log(`The response is ${res.data}`);
return null;
})
.catch(error => {
console.error(error);
});
});
Но он возвращает нам сообщение об ошибке: «Неверные учетные данные», из-за чего я немного растерялся. Я протестировал использование curl этого API с токеном авторизации, и он также показывает ответ об ошибке 401.
Я не уверен, что мой поток выше правильный, может ли кто-нибудь дать мне какие-либо предложения?