LoginSignup
4
1

More than 3 years have passed since last update.

Node.jsでGoogle Slidesの新規スライド作成

Last updated at Posted at 2020-02-08

Google Slides APIをNode.jsから触ってみてます。

の記事の続きです。

Google Slideのcreateを試す

スライドの新規作成が出来そうな雰囲気です。

presentations.createのドキュメントを覗くとスライド作成できそうな雰囲気がありました。

準備

Node.jsでGoogle Slides APIを触ってみるでAPIへのアクセスなどを出来るようにしましょう。

ソースコード

前回記事のapp.jsの中身を書き換えます。

  • SCOPESを変更
app.js
const SCOPES = ['https://www.googleapis.com/auth/presentations'];

元々は'https://www.googleapis.com/auth/presentations.readonly'と書いてあって読み込みのみ許可になってました。

  • listSlides(auth)の中身を以下に書き換え
app.js
省略

function listSlides(auth) {
    const slides = google.slides({version: 'v1', auth});
    slides.presentations.create({
        presentationId: '',
    }, (err, res) => {
        if (err) return console.log('The API returned an error: ' + err);
        console.log(res.data);
    });
}

tokenを再発行

token.jsonは読み込みのみ許可のトークンで作成されていたので、一度token.jsonのファイルを削除します。

再度node app.jsで実行すると、URLが発行されて、ブラウザでアクセスするとこのようにアクセス許可を求められます。

スクリーンショット 2020-02-08 16.41.22.png

許可をして、発行されるコードをターミナル側に貼り付けて実行するとtoken.jsonが再発行されて実行できます。

新規スライドが出来た!

実行してみます。

$ node app.js
{
  presentationId: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  pageSize: {
    width: { magnitude: 9144000, unit: 'EMU' },
    height: { magnitude: 5143500, unit: 'EMU' }
  },
  slides: [
    {
      objectId: 'p',
      pageElements: [Array],
      slideProperties: [Object],
      pageProperties: [Object]
    }
  ],
  title: '無題のプレゼンテーション',
  masters: [
    {
      objectId: 'simple-light-2',
      pageType: 'MASTER',
      pageElements: [Array],
      pageProperties: [Object],
      masterProperties: [Object]
    }
  ],

省略

Google Drive上で確認してみると無題のプレゼンテーションが作成されてました。

スクリーンショット 2020-02-08 16.43.15.png

所感

とりあえず、Node.jsからスライドの新規作成ができました。

タイトル指定などをして作ることも出来そうなので引き続き探っていきます。

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1