Hallöle zusammen,
ich möchte zu Updatezwecken eine (natürlich freigegebene) Textdatei aus Google Drive in einem Script auswerten, aber ich bin iwue zu doof, die als Textdatei zu speichern.
Mit URLDownloadToFile https://drive.google.com/file/d/0BzL_WY ... sp=sharing, d:\Text.txt kommt da nur der gesamte HTML Code der Driveseite mit, den ihc aber nicht bauche.
Kennt jemand einen Weg, wie ich dies lösen kann?
Am elegantesten wäre es natürlich, die txt Datei direkt in eine Variable einlesen zu können, ohne sie erst auf der Platte abzulegen. Es reicht mir aber auch, wenn ich sie speichere, ins Script einlese und direkt wieder lösche.
Ich brauche kein fertiges Script (außer, sowas gibt es schon). Vielleicht kann man ja den Link "frisieren", dass die Dateil runter geladen wird?!
Für Vorschläge und Ideen und für Eure Zeit Danke!
Gucky
Textdatei aus Google Drive (in Variable) einlesen?
Moderator: jNizM
Re: Textdatei aus Google Drive (in Variable) einlesen?
Ich glaube nicht, dass Google Drive direkt eine Lösung hierfür anbietet - es ist mir zumindest kein weg bekannt bei dem man direkt von Google runterladen kann.
Die einzige Lösung wäre es Google Drive in den Wind zu schreiben und einen anderen Dienst zu verwenden.
Ich persönlich verwende zum Beispiel github für solche Zwecke.
Die einzige Lösung wäre es Google Drive in den Wind zu schreiben und einen anderen Dienst zu verwenden.
Ich persönlich verwende zum Beispiel github für solche Zwecke.
Recommends AHK Studio
- hoppfrosch
- Posts: 443
- Joined: 07 Oct 2013, 04:05
- Location: Rhine-Maine-Area, Hesse, Germany
- Contact:
Re: Textdatei aus Google Drive (in Variable) einlesen?
Du könntest es auch über die Google Drive REST-API versuchen (speziell https://developers.google.com/drive/v3/ ... -downloads)
Sollte funktionieren ... - allerdings hab ich es noch nie getestet.
-----
EDIT: Was evtl. auch eine Möglichkeit wäre: gDrive (vorgestellt von BoBo - da fundet man auch ein Beispiel wie man das aus AHK nutzen kann)
Sollte funktionieren ... - allerdings hab ich es noch nie getestet.
-----
EDIT: Was evtl. auch eine Möglichkeit wäre: gDrive (vorgestellt von BoBo - da fundet man auch ein Beispiel wie man das aus AHK nutzen kann)
Re: Textdatei aus Google Drive (in Variable) einlesen?
Das schau ich mir nachher mal genauer an.
Lieben Dank!
Gucky
Lieben Dank!
Gucky
Re: Textdatei aus Google Drive (in Variable) einlesen?
2 Beispiele : show in memory oder textfile
Code: Select all
where=%a_scriptdir%\xx.txt
f1=https://drive.google.com/uc?export=download&id=0BzL_WYv4aWCZV09GV09QbkxWaTQ
UrlDownloadToFile,%f1%,%where%
httpQuery(aa,f1)
msgbox,%aa%
run,%where%
return
httpQuery(byref Result, lpszUrl, POSTDATA="", HEADERS="")
{
WebRequest := ComObjCreate("WinHttp.WinHttpRequest.5.1")
WebRequest.Open("GET", lpszUrl)
WebRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
WebRequest.Send(POSTDATA)
Result := WebRequest.ResponseText
WebRequest := ""
}
return
Re: Textdatei aus Google Drive (in Variable) einlesen?
Sorry, das klappt (be mir) leider nicht. Ich bekomme zwar eine Datei, es ist jedoch HTML Spaghetticode, der nicht einmal nsatzweise den Text meiner TXT Datei enthält.
Ich werde daher wohl einen externen Webspace für Updateanfragen benutzen.
Wäre schön gewesen, den Google Account (also dessen Drive) dafür nutzen zu können, aber wenn Frl. Google nicht will, dann eben nicht, nicht? XD
Grüße.
Ich werde daher wohl einen externen Webspace für Updateanfragen benutzen.
Wäre schön gewesen, den Google Account (also dessen Drive) dafür nutzen zu können, aber wenn Frl. Google nicht will, dann eben nicht, nicht? XD
Grüße.
Re: Textdatei aus Google Drive (in Variable) einlesen?
weiss nicht warum es bei mir funktioniert , ich siehe lediglich diesen Text :
Code: Select all
1.00.01
23.05.2017
Re: Textdatei aus Google Drive (in Variable) einlesen?
Ach?
Ich sehe Spaghetticode. Merkwürzig XD
Ich versuch´s aber nochmal.
Du hast Recht, es klappt.
Nun kommt mir die Frage, weshalb es (bei mir) erst jetzt klappt?
Ich hatte das mit 2 PCs, die beide die aktuelle AHK Version und Win10 besitzen,
ausprobiert und beide machten eine MsgBox auf, die meinen Screen sprengte XD
Das URLDownloadToFile lässt sich nicht so ändern, dass die Textdatei direkt in eine Variable geladen wird?
Nochmal danke,
Gucky.
Ich sehe Spaghetticode. Merkwürzig XD
Ich versuch´s aber nochmal.
Du hast Recht, es klappt.
Nun kommt mir die Frage, weshalb es (bei mir) erst jetzt klappt?
Ich hatte das mit 2 PCs, die beide die aktuelle AHK Version und Win10 besitzen,
ausprobiert und beide machten eine MsgBox auf, die meinen Screen sprengte XD
Das URLDownloadToFile lässt sich nicht so ändern, dass die Textdatei direkt in eine Variable geladen wird?
Nochmal danke,
Gucky.
Re: Textdatei aus Google Drive (in Variable) einlesen?
Also bei mir klappt das problemlos. Und was in der MsgBox angezeigt wird, ist unzweifelhaft der inhalt der variablen aa, welche als inhalt die information aus der datei test.txt enthält, die wiederum auf google drive abliegt. Mission accomplished. . Thx garryGucky_87 wrote:Ach?
Ich sehe Spaghetticode. Merkwürzig XD
Ich versuch´s aber nochmal.
Du hast Recht, es klappt.
Nun kommt mir die Frage, weshalb es (bei mir) erst jetzt klappt?
Ich hatte das mit 2 PCs, die beide die aktuelle AHK Version und Win10 besitzen,
ausprobiert und beide machten eine MsgBox auf, die meinen Screen sprengte XD
Das URLDownloadToFile lässt sich nicht so ändern, dass die Textdatei direkt in eine Variable geladen wird?
Nochmal danke,
Gucky.
Last edited by BoBo on 10 Jun 2017, 16:00, edited 1 time in total.
Re: Textdatei aus Google Drive (in Variable) einlesen?
Gucky_87 wrote :
kannst die 3 Befehle weglassen ( urldownload to textfile ) und siehst lediglich variable aa
oben hatte ich 2 Beispiele ( memory ( Variable aa ) und text )Das URLDownloadToFile lässt sich nicht so ändern, dass die Textdatei direkt in eine Variable geladen wird?
kannst die 3 Befehle weglassen ( urldownload to textfile ) und siehst lediglich variable aa
Code: Select all
;where=%a_scriptdir%\xx.txt
f1=https://drive.google.com/uc?export=download&id=0BzL_WYv4aWCZV09GV09QbkxWaTQ
;UrlDownloadToFile,%f1%,%where%
httpQuery(aa,f1)
msgbox,%aa%
;run,%where%
return
httpQuery(byref Result, lpszUrl, POSTDATA="", HEADERS="")
{
WebRequest := ComObjCreate("WinHttp.WinHttpRequest.5.1")
WebRequest.Open("GET", lpszUrl)
WebRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
WebRequest.Send(POSTDATA)
Result := WebRequest.ResponseText
WebRequest := ""
}
return
Re: Textdatei aus Google Drive (in Variable) einlesen?
Code: Select all
GDrive_URL := "https://drive.google.com/uc?export=download&id=0BzL_WYv4aWCZV09GV09QbkxWaTQ"
MsgBox % DownloadToString(GDrive_URL)
DownloadToString(url, encoding := "utf-8")
{
static a := "AutoHotkey/" A_AhkVersion
if (!DllCall("LoadLibrary", "str", "wininet") || !(h := DllCall("wininet\InternetOpen", "str", a, "uint", 1, "ptr", 0, "ptr", 0, "uint", 0, "ptr")))
return 0
c := s := 0, o := ""
if (f := DllCall("wininet\InternetOpenUrl", "ptr", h, "str", url, "ptr", 0, "uint", 0, "uint", 0x80003000, "ptr", 0, "ptr"))
{
while (DllCall("wininet\InternetQueryDataAvailable", "ptr", f, "uint*", s, "uint", 0, "ptr", 0) && s > 0)
{
VarSetCapacity(b, s, 0)
DllCall("wininet\InternetReadFile", "ptr", f, "ptr", &b, "uint", s, "uint*", r)
o .= StrGet(&b, r >> (encoding = "utf-16" || encoding = "cp1200"), encoding)
}
DllCall("wininet\InternetCloseHandle", "ptr", f)
}
DllCall("wininet\InternetCloseHandle", "ptr", h)
return o
}
[AHK] v2.0.5 | [WIN] 11 Pro (Version 22H2) | [GitHub] Profile
Re: Textdatei aus Google Drive (in Variable) einlesen?
Vielen Dank für Eure Hilfe, das klappt sehr gut.
Gucky.
Gucky.
Re: Textdatei aus Google Drive (in Variable) einlesen?
@jNizM , vielen Dank , wünsche euch noch einen schönen Sonntag
Who is online
Users browsing this forum: No registered users and 31 guests