2017-01-30 4 views
0

作成したテンプレートに基づいて新しいGoogleスライドファイルを作成していますソースシートが変更された場合は、埋め込みチャートの更新を停止する必要があります定期的に)。Google Slides APIでグラフのプロパティを変更

私はGoogle Apps Scriptライブラリ用のGoogleスライドAPIを使用しています(Wesley ChunとMartin Hawkseyのおかげです)、テキストの検索と置き換えが可能です。私はしかし、グラフのプロパティを変更することができるライブラリ内の何かを見ていないよ。私は新しいグラフを作成したり、リフレッシュを強制することができます。

ありがとうございました。

+0

Google Chartsのカスタマイズについて、この[documentation](https://developers.google.com/chart/interactive/docs/customizing_charts)を確認しましたか? Google Chart Toolsはデフォルト設定で使用できます。すべてのカスタマイズはオプションで、基本設定は起動準備が整いました。ただし、Webページが提供されているデフォルトとは異なるスタイルを採用している場合は、チャートを簡単にカスタマイズできます。この[関連するSOスレッド](http://stackoverflow.com/questions/28753125/)でApps Scriptを使用してGoogleグラフをカスタマイズすることもできます。 – abielita

答えて

1

既存のグラフのリンクを解除して、ユーザーがそれをリフレッシュできないようにするAPIサポートはありません。あなたの最善の策は、チャートを削除して最終的なプレゼンテーションで再作成する可能性が高いからです。チャートID、スプレッドシートID、およびページ要素の変換をpresentation.get()またはpresentation.pages.get()から外して、位置と内容を保持するためにグラフを再挿入することができます。

0

私は、スライドファイル内のすべてのチャートを削除して再作成しました。

for (var j in SLIDES.presentationsGet(DECK_ID).slides) { 
    var slide = SLIDES.presentationsGet(DECK_ID).slides[j]; 
    for (var i in slide['pageElements']){ 
    var obj = slide['pageElements'][i]; 
    if (obj['sheetsChart']) { 

     // delete it and recreate as static image 
     var reqs = [ 
     {'deleteObject': {'objectId': obj['objectId']}}, 
     {'createSheetsChart': { 
      'spreadsheetId' : obj["sheetsChart"]["spreadsheetId"], 
      'chartId' : obj["sheetsChart"]["chartId"], 
      'elementProperties' : { 
      'pageObjectId': slide['objectId'], 
      'size' : obj["size"], 
      'transform' : obj["transform"], 
      } 
     } 
     } 
    ]; 
    SLIDES.presentationsBatchUpdate(DECK_ID, {'requests': reqs}) 
    } 
} 
関連する問題