Wie können wir eine Datei zur files.list eines Benutzers über das SDK hinzufügen?
Es gibt Probleme, bei denen manchmal eine Datei, auf die ein Benutzer zugreifen kann, nicht zurückgegeben wird, wenn der Benutzer a ausgibtfiles.list
. Dies kann auf viele Arten geschehen. Beispielsweise werden neuen Mitgliedern einer Google-Gruppe keine zuvor freigegebenen Dateien angezeigt, wie in beschriebendiese Frage. Darüber hinaus nachGoogle-Dokumentation Es gibt andere Einschränkungen für die Freigabe, die verhindern können, dass freigegebene Dateien in der Ansicht "Für mich freigegeben" angezeigt werden. Schließlich kann ein Benutzer ein ausstellenfiles.delete
auf einer Datei, die sie nicht besitzt, und die Datei wird von verschwindenfiles.list
wird aber noch existieren.
Was kann ein Benutzer tun?allein über das SDK um eine Datei zu erstellen, auf die sie über zugreifen kannfiles.get
um in der Liste der Dateien zu erscheinen, die über abgerufen wurdenfiles.list
? Wir verwenden ein Dienstkonto, das sich als Benutzer ausgibt. Der Nutzer authentifiziert sich niemals bei Google über einen Browser. Ein Link in einer E-Mail, auf den der Benutzer klicken muss, funktioniert bei uns leider nicht. Der Zugriff auf die Datei über die Google Drive-Benutzeroberfläche hat den gewünschten Effekt, aber den analogenfiles.get
Anruf nicht.
Die Google Kalender-API macht a explizit verfügbarCalendarList
Schnittstelle, über die ein Benutzer eineinsert
um einen vorhandenen Kalender zu ihrer Liste hinzuzufügen. Das Google Drive SDK scheint ein Hybrid zu seinFiles
/FilesList
Schnittstelle mit einem Teil der Funktionalität fehlt (nichts dergleichenFilesList.insert
) und einige der Funktionen gemischt (Ausgabe von adelete
Als Nichtinhaber verhält sichFilesList.delete
aber das Ausstellen als Eigentümer verhält sich wieFiles.delete
).
Wenn wir die Dateiliste des Benutzers nicht programmgesteuert verwalten können, ist dies für unseren Service nicht hilfreich. Wir könnten das ignorierenfiles.list
rufen Sie vollständig auf und starten Sie einfach die rekursive Ausführungchildren.list
Abfragen für alle freigegebenen Ordner, aber das ist unglaublich teuer (es sei denn, jemand weiß, wie man eine einzelne Abfrage ausgibt, die alle zurückgibtFiles
Ressourcen in einem Ordner und nicht nur die IDs dieser Ressourcen).
Jede Hilfe wäre dankbar. Wir haben so viele verschiedene Möglichkeiten ausprobiert und waren auf Schritt und Tritt frustriert. Vielen Dank!