|
#1
|
|||
|
|||
Google Drive GDrive - Ordner-Scrawling geht nicht (mehr)
Erst mal meinen größten Dank an psp, dass er mein heißgewünschtes Feature mit den Google Drive-Streamdownloads umgesetzt hat
Dabei ist mir aufgefallen, dass nur Files gecrawlt werden, deren einzelner Link in JD eingefügt wird, also z.B. **External links are only visible to Support Staff****External links are only visible to Support Staff** Ein Ordner (und seine untergeordneten Elemente) **External links are only visible to Support Staff****External links are only visible to Support Staff** jedoch nicht psps hat dazu bereits ein Ticket erstellt https://svn.jdownloader.org/issues/89129 sagt aber, hierfür sei wohl die G Drive API-Nutzung erforderlich. Wäre es denn möglich, diese einzubauen? Bestenfalls mit der option, dass man seine eigenen API-Credentials eingeben kann, um nicht an einer dünnen Schnur mit einer ganzen Herde anderer JD-Nutzer zu hängen. Die API böte im Vgl. zum jetzigen Verfahren mit dem Cookie-Export auch den Vorteil, dass Nutzer "vorbelasteter IPs" wie die von VPNs weniger Fehler erhalten. Aktuell ist es so, dass die Videostreamdownloads manchmal nicht möglich sind, weil man ein Recaptcha im Browser lösen muss. Das sieht dann genauso aus wie bei YouTube und der Google-Suche, wenn man aus einem Netzwerk kommt, das Google für Bot/Spam hält. Last edited by Horstlegend; 01.12.2020 at 18:54. |
#2
|
||||
|
||||
Die Nutzung der API bringt halt massiv viel Abhängigkeiten/Datenmenge für sehr kleinen Vorteil. Sprich die API setzt ja API-Credentials voraus, somit für den *normalen* Nutzer(ohne Account) keinerlei Vorteile und das Plugin muss weiterhin Zweigleisig fahren und gepflegt werden Auch ist die API *FETT* und wir benötigen quasi nur 0,1% aller Funktionen.
__________________
JD-Dev & Server-Admin |
#3
|
||||
|
||||
*rekursiv
Ich sehe das anders: Mit der API müssten wir User, die Ordner hinzufügen wollen zwar "zwingen", einen Account zu verwenden, aber wer viel von GDrive lädt wird ohnehin einen Account benötigen um die "Quota reached" Limits zu umgehen. Zudem müssten wir diesen Crawler dann nicht so oft "reparieren". Ich glaube bei Google kann man die benötigten API Rechte ziemlich gut präzisieren und erhält somit keine unnötigen Rechte. Die Cookies, die wir aktuell zum Login nehmen sind theoretisch noch kritischer, dernn die "granten" auch nicht benötigte Rechte. Ohne API wird das Parsen von GDrive immer schwieriger - aktuell gehen z.B. nur bestimmte Folder-URLs von GDrive business(?) nicht. Ich habe auch geschaut, ob man als Workaround die Ordner als eine .zip Datei herunterladen könnte -> Schlechte Idee; dauert verdammt lange, Chunkload ist dann nicht möglich; man kann nicht auswählen was man laden will sondern muss alles laden und auch dieser Vorgang ist ohne API schwierig. Grüße, psp
__________________
JD Supporter, Plugin Dev. & Community Manager
Erste Schritte & Tutorials || JDownloader 2 Setup Download |
#4
|
|||
|
|||
Hab ichs schon wieder falsch geschrieben :D
Ist korrigiert Quote:
Quote:
Quote:
- Privater Account: Ordner mit einer Datei gehen, wie auch mit mehreren - Business Account: dito, Bsplink **External links are only visible to Support Staff****External links are only visible to Support Staff** - Dateien in Teamablagen: kein Ordner geht, nur die Dateien selbst, Bsplink siehe Startposting Korrigiere: jetzt gehen alle Links, aber nicht der Bspllink im Startposting Kannst du das einmal kurz anschneiden? Also Vorteile für die aktuelle Lösung, die z.B. die für die Nutzer umständliche Cookie Export-Lösung benötigt, und die API-Lösung, wie sie der Zoom Uploader und rclone auch benutzen, wo es dann keine Probleme gibt mit strengen Non-API-Limits? Last edited by Horstlegend; 01.12.2020 at 19:12. |
#5
|
||||
|
||||
Quote:
Das haben wir auch teilweise für andere Anbieter - dann wird das Webseiten-Handling ggf. nicht mehr gepflegt, solange man 100% auf API umstellen kann. Quote:
Passiert nur, weil: 1. Du die Streams- und nicht die Originaldateien laden willst (hier kann das Captcha umgangen werden). 2. Das Captcha Handling (= Captcha Lösen in JD) für diesen Fall noch nicht fertig eingebaut ist und daher gewartet wird. Sobald das fertig ist muss man seine Cookies nicht neu importieren, um die "Captcha gelöst" Session in JD zu nutzen. Quote:
Grüße, psp
__________________
JD Supporter, Plugin Dev. & Community Manager
Erste Schritte & Tutorials || JDownloader 2 Setup Download |
#6
|
||||
|
||||
Du hast einige externe Libraries mehr als Abhängigkeit, nicht komplett verifiziert, aber dürften circa 1-3Mbyte sein.
Dann muss, wie schon erklärt, weiterhin zwei Plugins gepflegt werden, das mit API Nutzung, und jenes ohne die API. Verlust der Abwärtskompatibilität zu Java 1.6 und Java 1.7, da die API mind. Java 1.8 voraussetzt. Aber pspzockerscene darf sich gerne mal an einer optionalen Implementierung via API versuchen, wenn er das wünscht
__________________
JD-Dev & Server-Admin |
#7
|
||||
|
||||
Jiaz und ich scheinen etwas aneinander vorbei geredet zu haben.
Ich habe ein Ticket dazu erstellt: Ich werde daran arbeiten, sobald mal etwas Zeit übrig ist. Ich gehe derzeit davon aus, dass die Implementation der API alle Bugreports bzlg. Google Drive Downloads lösen wird. Grüße, psp
__________________
JD Supporter, Plugin Dev. & Community Manager
Erste Schritte & Tutorials || JDownloader 2 Setup Download |
#8
|
|||
|
|||
Aber ihr habt so gut wie nie Zeit
|
#9
|
||||
|
||||
Neben Zeit haben und keine Zeit haben gibt es dann auch noch Prioritäten
...
__________________
JD Supporter, Plugin Dev. & Community Manager
Erste Schritte & Tutorials || JDownloader 2 Setup Download Last edited by pspzockerscene; 08.12.2020 at 17:39. Reason: Lesbarkeit++ |
#10
|
||||
|
||||
Also meine Recherche bisher:
Die Google Drive API kann alles außer die Streaming Versionen von Videodateien zurückgeben. Das sollte aber kein Problem darstellen. Grüße, psp
__________________
JD Supporter, Plugin Dev. & Community Manager
Erste Schritte & Tutorials || JDownloader 2 Setup Download |
#11
|
||||
|
||||
Kleines Update:
Im ersten Test läuft die API. Grob zusammengefasst wird sie speziell dir jedoch nur folgendes bringen: - Folder Crawler kann deine "team Drive" Ordner crawlen Ansonsten wird sich durch Nutzung der API nicht viel ändern, da die GDrive API keinen Aufruf hat, um an die Streams zu kommen d.h. die Webseite wird weiterhin benötigt -> Du wirst weiterhin einen Google Account/Cookies in JD benötigen und das "Sorry" Captcha von Google kann weiterhin erscheinen (bei VPN Nutzung) und dieses ist noch immer nicht vollständig im Plugin eingebaut. Für User, die nur die originale laden ist die API eigentlich nur vorteilhaft: - Kein "Quota reached" Problem mehr, da man quasi eingeloggt ist - Dateigrößen immer sichtbar - MD5 Hash der Dateien ist gegeben - Kein "Sorry" Captcha (aktuell kein Unterschied, da das Webseiten-Handling dies beim DL von Originalen ebenso umgehen kann) - Download privater GDrive Ordner des Accounts, der den APIKey erstellt hat sollte ebenso funktionieren (ungetestet) Die Änderungen kann man in der Entwicklungsumgebung testen und einen GDrive apikey kann man hier erstellen: developers.google.com/drive/api/v3/enable-drive-api Sobald ich fertig bin werde ich ggf. einen Artikel dazu in unserer Knowledgebase verfassen. Grüße, psp
__________________
JD Supporter, Plugin Dev. & Community Manager
Erste Schritte & Tutorials || JDownloader 2 Setup Download Last edited by pspzockerscene; 08.12.2020 at 17:55. Reason: Lesbarkeit++ |
#12
|
||||
|
||||
Quote:
Das kann auch passieren, wenn man mit dem API Key eines Accounts laden möchte während man per Browser im eingeloggten Zustand (selber Account) dieselbe Datei laden kann. "Quota reached" lies/lässt sich damit weiterhin nur mit einem Google Account (Cookies) vermeiden und auch nur, wenn "es geht" -> Manchmal oder mit manchen Accounts kann man solche Dateien auch im eingeloggten Zustand nicht laden/streamen und es bleibt einem nichts anderes übrig als zu warten. Grüße, psp
__________________
JD Supporter, Plugin Dev. & Community Manager
Erste Schritte & Tutorials || JDownloader 2 Setup Download |
#13
|
||||
|
||||
@pspzockerscene: API Key eines Accounts != eingeloggter Nutzer. API Key bedeutet dieser Nutzer hat irgendwas gebaut das die API nutzen will != es wird ein Account genutzt.
__________________
JD-Dev & Server-Admin |
#14
|
||||
|
||||
Jup - es bringt uns trotzdem weiter
Mit dem nächsten Update kann man einen Google Drive API Key in JD eintragen. Unterm Strich bringt das folgendes: Folder Crawling und Linkcheck funktionieren dann auf jeden Fall. Da die Webseite weiterhin benötigt wird, wenn: - Man Streams laden will - Man die "Quota Reached" Fehlermeldung bekommt und einen Google Account einträgt ... wird die API nur für den Download genutzt, wenn man keinen Account hat. Ein Einbau vom API Login würde zusätzlich folgende Features bringen: - Crawlen privater Ordner (vorausgesetzt der User hat die benötigten Rechte) - Umgehen der Captchas, wenn man einen VPN benutzt und gleichzeitig einen Google Account eingetragen hat Für den Stream Download bringt das alles nichts, da es über die Webseite geht. Hier können jederzeit Captchas kommen oder eben "Quota reached". Es gibt keinen Weg, per API an die Streams zu kommen. Wartest du auf einen angekündigten Bugfix oder ein neues Feature? Updates werden nicht immer sofort bereitgestellt! Bitte lies unser Update FAQ! | Please read our Update FAQ! --- Are you waiting for recently announced changes to get released? Updates to not necessarily get released immediately! Bitte lies unser Update FAQ! | Please read our Update FAQ! -psp-
__________________
JD Supporter, Plugin Dev. & Community Manager
Erste Schritte & Tutorials || JDownloader 2 Setup Download |
#15
|
|||
|
|||
Wow hier ging ja einiges ab seit meinem letzten Check :O
Die API-Unterstützung mit dem besseren Folder Crawling wäre natürlich der Oberhammer! Ggf. könnte man ja in den Plugineinstellungen seinen Login-Cookie hinterlegen. Ich würde vorschlagen dass immer per API geladen wird, außer man wählt die Option dass ein oder der beste Stream geladen werden soll. Weiß nicht inwiefern euch diese Info weiterhilft, doch kann man in der G Dev Console in jedem Projekt welches man dort erstellt hat und Anmeldedaten nebst API-Schlüssel und OAuth auch ein Dienstkonto erstellen, für das man eine JSON Datei erhält. Es handelt sich dabei um ein "virtuelles" Google-Konto mit Emailadresse, die man z.B. in sein Teamdrive einladen kann bzw dem man Files und Folders aus "Meine Ablage" freigeben kann und über eigene Limite verfügt (750 GB Upload/24h und, je nach Quelle, 2-10 TB Download/24h). Und von diesen Dienstkonten kann man pro Projekt bis zu 50.000 erstellen. Also ggf wäre der Stream-Download auch einfach über ein Dienstkonto verfügbar. Dazu müsste der User die Datei allerdings als "Für jeden, der den Link hat" freigeben |
#16
|
||||
|
||||
Du hast einige Dinge falsch verstanden.
Quote:
Klar könnte man die Möglichkeit einbauen, globale Cookies einzutragen, aber irgendwie ist es auch sinnlos, da die Cookies ja zu einem Account gehören -> Ist schon sillvoll, dass sie in JD auch jeweils einem Account zugeordnet sind. Der API Key hingegen wird natürlich auch in einem Google Account erstellt, aber der ist ja genau dafür gedacht, ihn dann in eigenen Anwendungen zu verwenden. Quote:
Aktuell wird die Webseite der API bevorzugt auch wenn ein Key gegeben ist, sofern ein google Account eingetragen ist, da dies bisher die einzige Möglichkeit ist, das Limit zu "umgehen". Der Haupt Vorteil des API Keys ist das reibungslose Folder-Crawling und, dass MD5 Hashes der Originaldateien gegeben sind. Quote:
Das einzige, das nochmal was bringen könnte wäre der Einbau des API oauth Logins, den ich bereits angefangen habe, aber das kann dauern und es ist unklar, ob es speziell in deinem Fall was bringen wird. Nochmal zum Stream Download: Die bisherigen Änderungen bringen dir beim Stream Download genau nichts, da es keinen API aufruf gibt, um an die Streams zu kommen. Sogar die GDrive app benutzt hier keinen API Aufruf. Du kannst gerne nochmal recherchieren, aber es scheint mir als wären die zu GDrive Dateien automatisch erzeugten Streams ausschließlich ein Feature der Webseite. Grüße, psp
__________________
JD Supporter, Plugin Dev. & Community Manager
Erste Schritte & Tutorials || JDownloader 2 Setup Download |
#17
|
||||
|
||||
Ich werde diesen Thread als gelöst markieren, da die ursprüngliche Anfrage "Crawler funktioniert für Link XY nicht mehr" mit dem Einbau der API-Key-Einstellung gelöst wurde!
Die Tickets bzlg. vollständigen API einbau bleiben weiter offen und ich hoffe, damit letztendlich das Crawlen privater Ordner ebenso möglich machen zu können. Das Herunterladen einzelner privater GDrive Dateien funktioniert bereits, sofern ein Google Account mit den benötigten Rechten in JD eingetragen wurde. Grüße, psp
__________________
JD Supporter, Plugin Dev. & Community Manager
Erste Schritte & Tutorials || JDownloader 2 Setup Download |
#18
|
|||
|
|||
Danke dir psp - und frohe Festtage!
Dir einen guten Rutsch ins neue Jahr und dem ganzen JD Team ebenso |
#19
|
||||
|
||||
Danke - bin gerade dabei, die Foren-Ankündigung für die nächsten ~2 Wochen zu schreiben.
"Ich bin dann mal weg" :D Bis im neuen Jahr!
__________________
JD Supporter, Plugin Dev. & Community Manager
Erste Schritte & Tutorials || JDownloader 2 Setup Download |
#20
|
|||
|
|||
Habe viele kleinere DLs in der Liste gehabt und nach kurzer Zeit kam "Plugin veraltet"
14.01.21 02.11.26 <--> 14.01.21 02.11.27 jdlog://6204625302851/ |
#21
|
||||
|
||||
In deinem Log sind keine Fehler zu sehen.
Grüße, psp EDIT Bin im Wochenende - bis Montag!
__________________
JD Supporter, Plugin Dev. & Community Manager
Erste Schritte & Tutorials || JDownloader 2 Setup Download |
#22
|
|||
|
|||
Es steht aber wieder Plugin veraltet. Wiederholt!
Schätze mal nach 100 Files ist Schluss. Eigener API Key ist eingetragen neuer Log 15.01.21 19.15.36 <--> 16.01.21 19.24.39 jdlog://3634625302851/ |
#23
|
||||
|
||||
Dein Log ist sehr groß.
Bitte sorge dafür, dass im Log-Zeitpunkt, den du "aufnimmst" nur die relevanten Aktionen zu sehen sind und/oder poste Testlinks hier - evtl. lässt sich das Problem damit einfach hier nachstellen. Grüße, psp
__________________
JD Supporter, Plugin Dev. & Community Manager
Erste Schritte & Tutorials || JDownloader 2 Setup Download |
#24
|
||||
|
||||
Nachtrag:
Du hast dasselbe Problem wie dieser User: Google hat dich blockiert (API & Ordner-Crawlen laufen trotzdem - Fehler passiert wie von dir beschrieben beim Downloadversuch). Ich habe das Errorhandling angepasst, aber du musst selbst herausfinden was nötig ist, um die Sperre zu entfernen (vtml. warten oder IP wechsel). Falls du einen VPN verwendest: Deaktivieren und ohne erneut versuchen! -psp-
__________________
JD Supporter, Plugin Dev. & Community Manager
Erste Schritte & Tutorials || JDownloader 2 Setup Download |
#25
|
|||
|
|||
Ist ne Hetzner VM, Google ortet die IP aber in Saudi Arabien. Mag daran liegen
|
#26
|
||||
|
||||
lol
Jedenfalls ist es kein JD Problem. JD erkennt diesen Fall ab dem nächsten Updateund wird versuchen einen Reconnect zu machen (bzw. 30 Minuten warten). Grüße, psp
__________________
JD Supporter, Plugin Dev. & Community Manager
Erste Schritte & Tutorials || JDownloader 2 Setup Download |
Thread Tools | |
Display Modes | |
|
|