Der einfachste Weg, die Datei-ID von der URL in Google Apps Script abzurufen

10

Hier ist, was ich versuche: Ich möchte die Dokument-ID erhalten, um eine Kopie auf Google Drive zu erstellen. Ich weiß, dass ich das durch einige Regex erreichen oder die URL ersetzen kann, aber da es mehrere verschiedene Formulare gibt, um dasselbe Dokument in einer URL darzustellen, wollte ich eine generische Lösung finden.

Momentan ist das das Beste, was ich denken könnte:

%Vor%

Das Problem ist, dass meine Lösung nur Dokumente und Tabellenkalkulationen umfasst. Ich möchte das Gleiche mit jeder hochgeladenen Datei machen, zum Beispiel:

Ссылка

Kurz gesagt, ich wollte so etwas:

%Vor%

Weiß jemand, ob es möglich ist?

Jede sichere Lösung, um die Datei-ID aus der Datei-URL zu extrahieren, würde auch für mich passen.

Danke

    
Renato 30.05.2013, 15:23
quelle

4 Antworten

36

DriveApp fehlt in der Tat ein getFileByUrl (und auch Ordner für diese Angelegenheit). Unter Apps Script issue tracker möchten Sie möglicherweise eine Verbesserungsanfrage öffnen. p>

Aber was ich in meinen Skripten mache (da diese openByUrl -Funktionen etwas neu sind), ist es, die ID mit einer Regex zu erhalten. So.

%Vor%

Dieser Regex funktioniert für jede Google-URL, die ich ausprobiert habe: Url für Ordner und Dateien, Fusion Tabellen, Tabellen, Dokumente, Präsentationen usw. ablegen. Es sucht nur nach einem String, der wie ein Google-Schlüssel aussieht. Das heißt, jede Zeichenfolge, die groß genug ist und nur gültige Zeichen (google key) enthält.

Es funktioniert auch, wenn es die ID direkt anstelle der URL empfängt. Das ist nützlich, wenn Sie den Link vom Benutzer fragen, da einige die ID direkt anstelle der URL einfügen können und es funktioniert immer noch.

    
Henrique G. Abreu 30.05.2013, 15:50
quelle
2

Die URL ist ungefähr so ​​und die Datei-ID ist in diesem Muster "/ d / XXXXXXXX /" für fast alle GoogleDrive / Docs-Links vorhanden:
Ссылка

Unter Verwendung der Funktion können wir die '/ d / Datei-ID /' und dann '/ d /' vom Anfang und '/' vom Ende abschneiden.

%Vor%     
aquadeep 03.07.2015 07:33
quelle
0

Ich wollte nur die Funktion, die ich erstellt habe, basierend auf den zwei gegebenen Antworten hinzufügen, weil beides nicht ganz das war, wonach ich suchte.

%Vor%

Dies ruft den Teil nach /d/ und bis zum nächsten / auf, so wie die Dokument-URLs immer ihre IDs enthalten. Wenn keine Übereinstimmung gefunden wird, geben wir einfach den ursprünglichen Parameter zurück, bei dem es sich um die ID handelt.

    
Daniel Centore 13.06.2016 20:45
quelle
0

Es gibt einige weitere URL-Erweiterungen, die oben nicht behandelt werden und die IDs enthalten können.

Category  und   Ссылка  und   Ссылка

Ich dachte, ich würde meine Lösung hinzufügen, die auf dieser Idee aufbaut und die obigen zwei Erweiterungen sowie die diejenigen mit / d /

%Vor%     
Jason Allshorn 29.10.2016 23:22
quelle

Tags und Links