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!

Antworten auf die Frage(0)

Ihre Antwort auf die Frage