0

I am fairly new to Node.JS and the Google Slides API. I've been using the quickstart and modifying it and have been getting an error:

(node:22396) UnhandledPromiseRejectionWarning: TypeError: Cannot read 
property 'presentations' of undefined

This is my code, the authorization functions are untouched from the quickstart, so that is not included.

const fs = require('fs');
const readline = require('readline');
const {google} = require('googleapis');
const promise = require('promise');
// If modifying these scopes, delete token.json.
const SCOPES = ['https://www.googleapis.com/auth/presentations.readonly'];
const TOKEN_PATH = 'token.json';

var auth = '000000000000-ithinkthissupposedtobesecret.apps.googleusercontent.com';
    var title = "Cheese";

    // Load client secrets from a local file.
    fs.readFile('credentials.json', (err, content) => {
      if (err) return console.log('Error loading client secret file:', err);
      // Authorize a client with credentials, then call the Google Slides API.
      authorize(JSON.parse(content), createPresentation);
    });
   /**
Authorization from quickstart goes here (https://developers.google.com/slides/quickstart/nodejs)
   */
    function createPresentation(title, auth) {
        const slides = google.slides({version: 'v1', auth});
        return new Promise((resolve, reject) => {
          // [START slides_create_presentation]
          this.slidesService.presentations.create({
            title,
          }, (err, presentation) => {
              if (err) return console.log(err);
            console.log(`Created presentation with ID: ${presentation.presentationId}`);
            // [START_EXCLUDE silent]
            resolve(presentation);
            // [END_EXCLUDE]
          });
          // [END slides_create_presentation]
        });
    }

Any help would be greatly appreciated, thanks!

1 Answer 1

1

Change this.slidesService.presentations.create to slides.presentations.create

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.