Я могу скачать публичные файлы без проблем. Будучи администратором, я составлю список тех, кто может загрузить приватный файл. (Функция Google Диска) Это мой код: https://stackoverflow.com/posts/39225272/revisions У меня есть файл oauth2client и google-drive-credentials.json в папке .credentials. В этом файле (google-drive-credentials) доступны «access_token» и «refresh_token». Когда я пытаюсь загрузить файлы PRIVATE, Google возвращает html-файл экрана входа в систему с запросом. Мне нужно передать это с автоматом. Это никогда не должно происходить.
Вот мой код:
SCOPES = 'https://www.googleapis.com/auth/drive'
CLIENT_SECRET_FILE = 'client_secret.json'
APPLICATION_NAME = 'abc'
authInst = auth.auth(SCOPES, CLIENT_SECRET_FILE, APPLICATION_NAME)
credentials = authInst.getCredentials()
URL = "https://docs.google.com/uc?export=download"
session = requests.Session()
session2 = requests.Session()
toplamyari = int(int(toplamboyut) / 2)
if os.path.exists(yazp1):
sizefile = os.path.getsize(yazp1)
yazmaModu = 'ab'
bytearalik = 'bytes=' + str(sizefile) + '-' + str(toplamyari)
else:
bytearalik = 'bytes=0' + '-' + str(toplamyari)
if os.path.exists(yazp1[0:len(yazp1)-1]+"2"):
dosyaboy=os.path.getsize(str(yazp1[0:len(yazp1)-1])+'2')
self.temp2boyut=dosyaboy
bytearalik2 = 'bytes=' + str(toplamyari + 1 + dosyaboy) + '-' + str(toplamboyut)
else:
bytearalik2 = 'bytes=' + str(toplamyari+1) + '-' + str(toplamboyut)
arlik2=int(int(toplamboyut)-int(toplamyari))
accessToken = credentials.access_token
session.headers.update({'Range': bytearalik, 'Authorization':'Bearer " + accessToken})
#session2.headers.update({'Range': bytearalik2}) #don't worry about that, that's for download faster(download 2 part at same time)
response = session.get(URL, params={'id':link}, headers={'Authorization':'Bearer '+accessToken}, stream=True)
с этим кодом, как я уже сказал, я могу загружать файлы PUBLIC, но не могу скачивать доступ к данным частным файлам. Я думаю, что запрос не доступ, ИДК. И извините за английский. Спасибо за все.