2017-08-03 9 views
0

私はプレゼンテーション内のグラフを更新する機能を使用します。 このプレゼンテーションは共有する必要がありますが、定期的に更新されます。 ここで、プレゼンテーションをコピーして、元のプレゼンテーションの更新を維持し、すべてのグラフを1つずつリンク解除します。私は、プレゼンテーションをコピーして共有すると、すべてのチャートのリンクを解除する関数を探しています。Googleスライド内のすべてのグラフとGoogle Appスクリプトのリンクを解除する

この問題を解決する関数はありますか?

function createRefreshSheetsChartsRequests(presentation) { var objectIds = []; var slides = presentation.slides; 
    for (var i = 6; i < slides.length - slides.length + 9; i++) { 
    var slide = slides[i]; 
    var pageElements = slide.pageElements; 
    for (var j = 0; j < pageElements.length; j++) { 
     var pageElement = pageElements[j]; 
     if (pageElement.sheetsChart) { 
     objectIds.push(pageElement.objectId); 
     } 
    } 
    } 
    return objectIds.map(function(objectId) { 
    return {refreshSheetsChart: {objectId: objectId}}; 
    }); 
}  

事前のおかげで、

ラース

答えて

1

スライドのAPIでグラフを解除するAPIはありません。あなたはいくつかの選択肢があります:

  • グラフを削除し、画像として再挿入します。 CreateSheetsChartRequestLinkingMode.NOT_LINKED_IMAGE、またはCreateImageRequestSheetsChart.content_urlフィールドのGET APIから取得したURLを使用して、この操作を行うことができます。新しいチャートの位置とサイズが既存のチャートと一致するように注意しなければなりません。

  • グラフが作成されたスプレッドシートの共有権限を更新します。プレゼンテーションを共有しているユーザーが基礎となるスプレッドシートへの読み取りアクセス権を持っていない場合、スライドのグラフを更新することはできないため、新しいデータは表示されません。

リンク解除APIに興味がある場合は、機能要求hereを提出できます。

関連する問題