Updated ggsrun to v110
Updated ggsrun to v.1.1.0
Added a command for updating existing project on Google Drive. One of scripts in the project can be also updated.
Added a command for updating existing project on Google Drive. One of scripts in the project can be also updated.
This sample script retrieves the user information which is editing the shared spreadsheet.
It was found as follows.
onOpen(), it cannot directly install triggers and authorize.Here, I thought 2 problems.
This is a CLI tool to search for images with Google Reverse Image Search.
Because I had wanted to search for images with an image URL and file on my terminal, I created this. This can download images from searched image URLs.
The detail information and how to get this are https://github.com/tanaikech/goris.
This is a CLI tool to execute Google Apps Script (GAS) on a terminal.
Will you want to develop GAS using CoffeeScript on your local PC? Generally, when we develop GAS, we have to login to Google using own browser and develop it using Javascript on the Script Editor. Recently, I have wanted to have more convenient local-environment for developing GAS. So I created this “ggsrun”.
This sample script converts a spreadsheet to excel file, and overwrites the excel file to the existing excel file. When you use this script, at first, please confirm whether Drive API is enabled at Google API console. Because the existing excel file is overwritten, the file name and file ID are not changed.
function overWrite(src_spreadsheetId, dst_excelfileId) {
var accesstoken = ScriptApp.getOAuthToken();
return UrlFetchApp.fetch(
"https://www.googleapis.com/upload/drive/v3/files/" +
dst_excelfileId +
"?uploadType=multipart",
{
method: "PATCH",
headers: {Authorization: "Bearer " + accesstoken},
contentType: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
payload: function(a, s) {
return UrlFetchApp.fetch(
"https://www.googleapis.com/drive/v3/files/" +
s +
"/export?mimeType=application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
{
method: "GET",
headers: {Authorization: "Bearer " + a},
muteHttpExceptions: true
}
).getBlob().getBytes();
}(accesstoken, src_spreadsheetId)
}
).getContentText();
}
Converting Spreadsheet to PDF
This sample script converts from a spreadsheet to a PDF file which has all sheets in the spreadsheet. When you use this, please enable Drive API at Google API console.
var spreadsheetId = "#####";
var folderId = "#####";
var outputFilename = "#####";
DriveApp.getFolderById(folderId)
.createFile(UrlFetchApp.fetch(
"https://www.googleapis.com/drive/v3/files/" +
spreadsheetId +
"/export?mimeType=application/pdf",
{
method: "GET",
headers: {Authorization: "Bearer " + ScriptApp.getOAuthToken()},
muteHttpExceptions: true
})
.getBlob())
.setName(outputFilename);
gogauth is a CLI tool to retrieve easily access token for using APIs on Google.
Today, it was updated with big changes. Please check it out.
Recently, I had been looking for creating an image from coordinate data. Unfortunately I have never found them. So I made this. This Google Apps Script (GAS) library creates an image file from coordinate data.
You can see the detail information at https://github.com/tanaikech/CreateImg.
There is a part where I would like to improve in this library. That’s convByteSlice(). I think that there is the method to be faster about the part. If you know much about the logical operation using GAS, if you teach me about the improvements. I’m so glad.
Here, I would like to introduce a comprehension of GAS.
Input :
var data = [[[0], [1], [2], [3]], [[4], [5], [6], [7]]];
Output :
[[0.0, 2.0], [0.0, 2.0]]
var a = [];
for (var i=0; i<data.length; i++) {
var temp = [];
for (var j=0; j<data[i].length; j++) {
if (data[i][j][0] % 2 == 0) temp.push(j);
}
a.push(temp);
}
Logger.log(a)
var b = [];
data.forEach(function(e1){
var temp = [];
e1.forEach(function(e2, i2){
if (e2[0] % 2 == 0) temp.push(parseInt(i2, 10));
});
b.push(temp);
});
Logger.log(b)
var c = [[parseInt(i, 10) for (i in e) if (e[i][0] % 2 == 0)] for each (e in data)];
Logger.log(c)
GAS can use JavaScript 1.7. So it can write as above.
These scripts can be executed on Script Editor. But, in order to use these, you have to enable Drive API of Advanced Google services and of Google API Console. “Drive API v2” can be used at Google Apps Script by enabling Drive API of Advanced Google services and of Google API Console.
How to use it is as follows.
In the script editor, select Resources > Advanced Google services
In the dialog that appears, click the on/off switch for Drive API v2.