How to get the list of reviews using Google Developer API and Firebase functions?

343 Views Asked by At

I need to access to my app reviews, using Google Developer API and Firebase Functions.

My code in Firebase Functions:

const functions = require('firebase-functions')
const admin = require('firebase-admin')
admin.initializeApp(functions.config().firebase);

var {google} = require('googleapis');
const serviceAccount = require('./client_secret.json');
const { JWT } = require('google-auth-library');


const getAuthorizedClient = () => new JWT({
    email: serviceAccount.client_email,
    key: serviceAccount.private_key,
    scopes: ['https://www.googleapis.com/auth/androidpublisher']
});

const getAndroidpublisher = () => google.androidpublisher({
    version: 'v3',
    auth: getAuthorizedClient()
});


const requestProductValidation = () => new Promise((resolve, reject) => {
    getAndroidpublisher().reviews.get({
            packageName: "com.my.packagename"
        }, (err, response) => {

        if (err) {
            console.log(`The API returned an error: ${err}`);
            resolve({status: "Error"});
        } else {

            console.log("ok");

        }
    });
});


exports.hello = functions.https.onRequest((req, res) => {
      return requestProductValidation();
});

I got the error: The API returned an error: Error: Missing required parameters: reviewId.

However I need the list of the reviews not a specific reviews. I suppose this line is wrong getAndroidpublisher().reviews.get but I'm unable to correct it.

What I missed?

1

There are 1 best solutions below

0
On BEST ANSWER

I had an error in the request, use reviews.list instead of reviews.get:

getAndroidpublisher().reviews.list({
          packageName: "com.virgoplay.tchat.weezchat"
      }, (err, response) => {

      if (err) {
          console.log(`The API returned an error: ${err}`);
          resolve({status: "Error"});
      } else {

          return resolve(response.data.reviews);
      }
 });