Google Drive-API Client (Python): Unzureichende Berechtigungen für Dateien().insert()
Ich versuche, ein einfaches Python-Google Drive-uploader funktioniert. Ich habe ein Projekt erstellt haben, in die Entwickler-Konsole aktiviert den Drive-API und hat eine OAuth 2.0-client-ID (Anwendungs-Typ Andere).
Ich kann sehen, dass die Applikationen in den Google Drive-Einstellungen -> Verwalten-Apps, und können erfolgreich führen viele Operationen zur Verfügung gestellt von der Python-Drive-API-client von Google. Dateien ().insert () jedoch schlägt fehl mit:
googleapiclient.errors.HttpError: <HttpError 403 when requesting https://www.googleapis.com/upload/drive/v2/files?uploadType=multipart&convert=false&useContentAsIndexableText=false&alt=json returned "Insufficient Permission">
Dies ist für eine Einfügung in ein Verzeichnis, das ich gemacht habe schreibbar für alle, wie unten zu sehen:
credentials = get_credentials ()
http = credentials.authorize (httplib2.Http ())
service = discovery.build ('drive', 'v2', http=http)
PARENT_ID="0B1gLgXwTiUzlfmo0UGVsZ1NWdW1nZG9OcENNYkJua2E1d0pqWE14TjFyc2hVMHdEU1h5czQ"
perms = service.permissions().list(fileId=PARENT_ID).execute()
print ("PERMISSIONS:")
for perm in perms["items"]:
for p in perm:
print (p, perm[p])
print
parent = {
"isRoot": False,
"kind": "drive#parentReference",
"id": PARENT_ID
}
service.files ().insert (
body = {"parents" : [parent]},
media_body='./test.txt',
convert=False,
useContentAsIndexableText=False
).execute ()
Listet die Erlaubnis als:
(u'withLink', True)
(u'kind', u'drive#permission')
(u'etag', u'"F-w0rsCIWtQP8RGyv_V1DlKfcRk/icwHkDdfUYuMzqZrUsVIyvu85K8"')
(u'role', u'writer')
(u'type', u'anyone')
(u'id', u'anyoneWithLink')
(u'selfLink', u'https://www.googleapis.com/drive/v2/files/0B1gLgXwTiUzlfmo0UGVsZ1NWdW1nZG9OcENNYkJua2E1d0pqWE14TjFyc2hVMHdEU1h5czQ/permissions/anyoneWithLink')
Kann mir jemand zeigen Sie mir die Berechtigung fehlt, bitte?
InformationsquelleAutor der Frage Gwen Ives | 2015-08-31
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dateien: legen Sie erfordert Autorisierung mit mindestens einem der folgenden Bereiche
https://www.googleapis.com/auth/drive
https://www.googleapis.com/auth/drive.file
https://www.googleapis.com/auth/drive.appdata
https://www.googleapis.com/auth/drive.apps.readonly
Überprüfen Sie, welcher Bereich Sie sind Authentifizierung mit.
InformationsquelleAutor der Antwort DaImTo
Ändern, wenn diese Bereiche oder Berechtigungen, löschen Sie Ihre zuvor gespeicherten Anmeldeinformationen Verwandte Datei oder den browser-cache, falls vorhanden.
InformationsquelleAutor der Antwort Md Tahmilur Rahman
Empfohlen von @DalmTo, das Problem war eine falsche
Auth
Umfang:InformationsquelleAutor der Antwort Gwen Ives