4

ので、私は、IFRAME内のページでそれを埋め込むことができ、私は手動で次の操作を行います:GoogleドライブへGoogleスプレッドシートAPI:埋め込みシート用に「ウェブに公開する」方法私はGoogleスプレッドシートスプレッドシートを公開したい場合

  1. 移動
  2. スプレッドシートを開き
  3. ファイルを>> EMBED>どのように私はプログラム的にフロントエンドではJavaScriptを使用して、GoogleスプレッドシートAPIを介して上記を達成するであろう

HTMLファイルに生成されたiframeのリンクをコピーしてWebに発行?私は自分のアプリケーションで即座にスプレッドシートを生成していて、作成したページにすぐにスプレッドシートを埋め込みたいと思っています。

シートが作成されると、必要な属性(シートIDなど)を使用してiframe要素を動的に作成できます。それはエラーを投げる。このquestionから、シートにはpublished: trueの属性が必要ですが、ドライブAPIを使用する必要があります。これを避けようとしています。これは、のみをSheets APIで処理することは可能ですか?

答えて

4

スプレッドシートAPI全体を検索して、グーグルで検索していただけで、私はドライブAPIを含めて入札に使う以外に選択肢はありませんでした。ここに私が思いついた解決策があります。これが他の誰かを助けることを願っています! index.htmlファイルにクライアント側JSライブラリをGoogleからこのスクリプトを使用し

:JSのためにその後

<body> 
    ... 
    <script type="text/javascript" src="https://apis.google.com/js/client.js"></script> 
</body> 

は詰め:

// Cache the api's into variables. 
var sheets = gapi.client.sheets; 
var drive = gapi.client.drive; 

// 1. CREATE NEW SPREADSHEET 
sheets.spreadsheets.create({ 
    properties: { 
    title: 'new-sheet' 
    } 
}).then(function(newSpreadSheet) { 
    var id = newSpreadSheet.result.spreadsheetId; 

    // 2. PUBLISH SPREADSHEAT VIA DRIVE API 
    drive.revisions.update({ 
    fileId: id, 
    revisionId: 1 
    }, { 
    published: true, // <-- This is where the magic happens! 
    publishAuto: true 
    }).then(function() { 

    // 3. DISPLAY SPREADSHEET ON PAGE VIA IFRAME 
    var iframe = [ 
     '<iframe ', 
     'src="https://docs.google.com/spreadsheets/d/', 
     id, 
     '/pubhtml?widget=true&headers=false&embedded=true"></iframe>' 
    ].join(''); 

    // We're using jQuery on the page, but you get the idea. 
    $('#container').html($(iframe)); 
    }); 
}); 
1

締め切りましたが、本日のスプレッドシートAPIでは不可能であり、ドライブAPI(PATCH https://www.googleapis.com/drive/v3/files/fileId/revisions/revisionIdリクエスト、https://developers.google.com/drive/v3/reference/revisions/updateで説明されています)を使用した場合のみ可能です。

+0

感謝を。そうですね、私はもともとOAuthに関する問題を抱えていて、Sheets&Drive APIの両方をうまく使っていました。私がやりたかったことの完全な例をオンラインで見つけることができなかったので、私は結局それを理解しました(下記)。再度、感謝します! –

関連する問題