2

web interfaceを介してGoogleアナリティクスにデータ費用をアップロードすることは可能です。私は、しかし、このプロセスをもう少し自動化したいので、私はこのプロセスを短縮するためにGoogleスプレッドシートとGoogleのアプリケーションスクリプトを使用することを考えた。Google SpreadSheetを使用してGoogleアナリティクスに費用をアップロードする方法

私の考えは、spreadSheetでGoogle Analyticsにアップロードしたいデータを取得し、次にGoogle Apps Script Advanced Servicesを使用してGoogle Analyticsプロパティにデータコストをアップロードすることです。残念ながら、Google App Script Advanced Servicesのドキュメントは非常に限定されています。だから、私は私を助けることができるいくつかのホッピングだった。ここでwhat'veこれまでに行われます。

function uploadDataCost() { 

    var accountId = "XXXXXXXX"; 
    var webPropertyId = "UA-XXXXXXX"; 
    var customDataSourceId = "XXXXXXXXXXXXX"; 

    var csvData = convertRangeToCSVString();  

    var mediaData = Utilities.newBlob([]); //This variable is my main problem. 

    Analytics.Management.Uploads.uploadData(accountId, webPropertyId, customDataSourceId, mediaData); 



} 

私はrange to a CSV as a stringを変換するコードを発見しました。しかし、私はこの文字列をblobに変換する方法を知らないので、メソッドAnalytics.Management.Uploads.uploadData(accountId, webPropertyId, customDataSourceId, mediaData);のmediaDataパラメータとして使用できます。

私はこのメソッドを呼び出すことがトリックを行うと思いますが、mediaDataパラメータでデータを渡す方法がわからず、私が言ったように、このメソッドの仕組みを説明するドキュメントは見つかりませんでした。私はmediaDataがBlob型でなければならないことを知っていますが、CSVファイルであるBlobを作成する方法を説明する例は見つかりませんでした。

答えて

4
function uploadData() { 
    var accountId = "xxxxxxxx"; 
    var webPropertyId = "UA-xxxxxxxx-x"; 
    var customDataSourceId = "xxxxxxxx"; 
    var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); 
    var maxRows = ss.getLastRow(); 
    var maxColumns = ss.getLastColumn(); 
    var data = []; 
    for (var i = 1; i < maxRows;i++) { 
    data.push(ss.getRange([i], 1,1, maxColumns).getValues()); 
    } 
    var newData = data.join("\n"); 
    var blobData = Utilities.newBlob(newData, "application/octet-stream", "GA import data"); 
    try { 
    var upload = Analytics.Management.Uploads.uploadData(accountId, webPropertyId, customDataSourceId, blobData); 
    SpreadsheetApp.getUi().alert("Uploading: OK"); 
    } 
    catch(err) { 
    SpreadsheetApp.getUi().alert("Cannot upload: Failed"); 
    } 
} 

Source

+0

これは完璧に動作します。ありがとうございました。 google Apps ScriptのGoogleアナリティクスの管理APIに関するドキュメントがどこにあるかわかりますか。それはAPIと同じであるはずですが、全く同じではありません。ユーティリティの方法にも、良い文書がありません。 – user3347814

関連する問題