2017-07-11 13 views
3


Google App Scriptファイルに何らかの命令を出し、GoogleドライブでGASファイルを見つけて解析し、jsdocスタイルのコメントに基づいてAPIドキュメントを作成するHTMLServiceアプリケーションを開発しようとしています。

GoogleドライブAPIエクスポートGASファイル固有のバージョン

WebAppが機能していて、必要なすべてのデータを取得してコメントを解析できますが、デフォルトでは公開されているかどうかに関係なく、現在のGASファイルの内容がエクスポートされます。

私がしたいのは、現在のdevの内容ではなく最新の保存されたバージョンの内容をプルすることです。エクスポートするバージョンを指定する方法はありますか?

は、私は以下のとおりに、コンテンツを取得するためにURLFetch()を使用しています:

var params = { 
 
    headers:{ 
 
     'Accept':'application/vnd.google-apps.script+json', 
 
     'Authorization':'Bearer '+ ScriptApp.getOAuthToken() 
 
    }, 
 
    method:'get' 
 
    }; 
 
    
 
    var fileDrive = Drive.Files.get(fileId); 
 
    var link = JSON.parse(fileDrive)['exportLinks']['application/vnd.google-apps.script+json']; 
 
    var fetched = UrlFetchApp.fetch(link, params); 
 
    return { meta: fileDrive, source: JSON.parse(fetched.getContentText()) };

任意の助けをいただければ幸いです、ありがとうございました!

答えて

0

documentationから、各変更は「改訂」と呼ばれ、改訂へのアクセスは改訂リソースを通じて提供されます。ファイルの新しいリビジョンをプログラムで保存することができます。のバージョン履歴にRevisions referenceのように問い合わせます。

Listing revisions

次の例では、指定したファイルのリビジョンを一覧表示する方法を示します。リビジョンの一部のプロパティは、特定のファイルタイプでのみ利用可能であることに注意してください。たとえば、G SuiteアプリケーションファイルはGoogleドライブのスペースを消費しないため、ファイルサイズは0です。

function listRevisions(fileId) { 
    var revisions = Drive.Revisions.list(fileId); 
    if (revisions.items && revisions.items.length > 0) { 
    for (var i = 0; i < revisions.items.length; i++) { 
     var revision = revisions.items[i]; 
     var date = new Date(revision.modifiedDate); 
     Logger.log('Date: %s, File size (bytes): %s', date.toLocaleString(), 
      revision.fileSize); 
    } 
    } else { 
    Logger.log('No revisions found.'); 
    } 
} 

は、この情報がお役に立てば幸い!

+0

スクリプトのためにそれがエラー 'ファイルがrevisions' もただのエクスポート/インポート読んスクリプトをサポートし、これに気づいていないを与えるおかげで、残念ながら...、このようなスクリプトのバージョン管理、公開またはスクリプトを実行するよう _Actionsでは、Googleを介して可能ではありませんドライブREST API_ 希望が見えない – MarkJWiggins

関連する問題