0

I have a Google Spreadsheet with an embedded chart. I'm using this code to send the chart via email:

var charts = SpreadsheetApp.getActiveSheet().getCharts();
MailApp.sendEmail(      
    "recipient@example.com",
    "Income Charts",      
    "Here's the latest income charts",      
    {attachments: charts });

But I only get an image with "User not signed in" error. If I make the spreadsheet public it works, but I don't want to do that. I need the spreadsheet private.

4

1 に答える 1

0

これも見ることができました。実際、最初にドライブに保存しようとしましたが、それでもまだ起こっていました. さらに掘り下げると、これはセキュリティとアクセス許可に関係しています。

サインインせずにシートを読み取れるようにすると、これは魅力のように機能します。スプレッドシートの右上にある [共有] に移動し、設定を [リンクを知っている全員] に設定します (前のダイアログの [非公開] 行に対して [変更] をクリックする必要があります)。

共有設定

Apps Script は本質的に、スプレッドシートにアクセスしようとする「ユーザー」であるため、これは理にかなっています。

于 2012-11-22T16:35:31.567 に答える