ACTUALIZACIÓN: Google ha retirado estas API, así que ten cuidado.
NOTA: esto realmente ya no es necesario con la nueva interfaz de usuario de la unidad ...
- cuando busque o tenga una lista de documentos, haga un lite del archivo que encuentre
- haga clic en el botón [i] (información) en la esquina superior derecha
- haga clic en "Detalles" (vs "Actividad" predeterminada)
- verá compartir y dónde se almacena, etc.
Me di cuenta de que esto ya ha sido respondido, pero en caso de que las personas lo encuentren mientras buscan (lo hice) agregaré algunos. Si eres nuevo en Google App Script, mira este enlace .
Gracias a @Jacob Jan Tuinstra y @Drawn por sus guiones, pero ninguno de los dos era lo que necesitaba, así que usé los dos para crear el mío. La secuencia de comandos a continuación debe pegarse en un editor de secuencias de comandos GApps y luego publicarse como una aplicación web. El enlace debe guardarse / marcado para su posterior reutilización:
function doGet() {
// create app and grid
var app = UiApp.createApplication();
var grid = app.createGrid(4,2);
// set labels for first column
grid.setWidget(1, 0, app.createLabel("Document's key: ")
.setStyleAttribute('fontWeight', 'bold'));
grid.setWidget(2, 0, app.createLabel("Folder Path: ")
.setStyleAttribute('fontWeight', 'bold'));
// set text boxes for second column
grid.setWidget(1, 1, app.createTextBox().setId("key")
.setName("key").setWidth(500));
grid.setWidget(2, 1, app.createTextBox().setId("path")
.setName("path").setWidth(500));
// create button and handler
grid.setWidget(3, 0, app.createButton("Find")
.addClickHandler(app.createServerHandler("listParentFolders")
.addCallbackElement(grid)));
// add grid to application and show app
app.add(grid);
return app;
}
function listParentFolders(e) {
var app = UiApp.createApplication();
var path = '';
var key = e.parameter.key;
var theFile = DocsList.getFileById(key);
var parents = theFile.getParents();
// No folders
if ( parents == null ) {
app.getElementById("path").setValue('unknown');
return app;
}
var folder = parents[0];
var folderName = folder.getName();
var folders = [[folderName]];
try {
folderName = parents[0].getName();
}
catch(error)
{
app.getElementById("path").setValue('(unknown - shared document)');
return app;
}
while (folderName != "Root"){
parents = folder.getParents();
folder = parents[0];
folderName = folder.getName();
// we are going in reverse - build list in other direction
folders.unshift([folderName]);
}
// built path list
var indentNum = 0;
for (var fldrCntr = 0; fldrCntr < folders.length; fldrCntr++){
folderName = folders[fldrCntr][0];
if(fldrCntr == 0) {
path = 'My Drive'; // ...instead of 'Root'
} else {
path += ' / ' + folderName;
}
indentNum += 1;
}
app.getElementById("path").setValue(path);
return app;
}
La interfaz de usuario se ve así:
Tenga en cuenta que la ID de un archivo proviene de su URL, es decir, consulte "<...>" en el ejemplo de URL a continuación:
https://docs.google.com/a/your_domain/spreadsheet/ccc?key=<...>&usp=drive_web#gid=0