Я сделал аутентификацию учетной записи на сервере через код Python:
APP_CREDENTIALS = service_account.Credentials.from_service_account_file(
#config.EE_ACCOUNT,
config.EE_PRIVATE_KEY_FILE,
scopes = OAUTH_SCOPE)
service = build('drive', 'v3', credentials=APP_CREDENTIALS)
И я набрал этот код для печати этих файлов на диске:
state = task.status()['state']
if state == ee.batch.Task.State.COMPLETED:
logging.info('Task succeeded (id: %s).', task.id)
results = service.files().list().execute()
items = results.get('files', [])
if not items:
print('No files found.')
else:
print('Files:')
for item in items:
if item['id'] == '1MiXjaHXU3ktOrkVwdkAABuNM-HXhJGGF':
print('downloadfiles')
download_file(item['id'], service)
print(u'{0} ({1})'.format(item['name'], item['id']))
Результат был:
NDVI_1229.tif (1MiXjaHXU3ktOrkVwdkAABuNM-HXhJGGF)
NDVI_1229.tif (1y5anN0zpRYW180pd0t74xbOWxr0bjfdm)
NDVI_1229.tif (1X8fYAzRrUBxPMLpZmx_bJULLwq09lJPb)
NDVI_1229.tif (1iSk51dCTAyiVjPbCFQ3irnjhYsn708mV)
NDVI_1229.tif (1Cr3G7tZF2xYAmO70n6tvSs65Ot7MWr69)
NDVI_1229.tif (1KlGUVmr3maaiya4WAeD0ShI6DAsUcxT5)
NDVI_1229.tif (1kkGxRQulWYIG7tX0J8f_n5T1hwhYK_O0)
NDVI_1229.tif (1AqgchB8X7aul1rhVk76GlF1Iwm5N-UFR)
NDVI_1229.tif (14A7Kzcweaft8eBof_nWQGtLQ5RwvpFlP)
NDVI.tif (1GvY3JlMmqE-TgvqR5Fg8zPa9JvuJAyHJ)
NDVI.tif (15N4Kge7gR5bk7B3ZwRBG4Tad0PKU9nPc)
NDVI.tif (19cr8Ena_oztorgmOQL-FTBvNq4vN7nD9)
NDVI.tif (1oK5N5GTiTthkpk6rtjFF9wM4qeXDtESR)
Теперь я хочу загрузить эти файлы и использую метод, указанный на официальном веб-сайте API Google Drive.Код был показан ниже:
def download_file(file_id, drive_service):
request = drive_service.files().get_media(fileId=file_id)
fh = io.BytesIO()
downloader = http.MediaIoBaseDownload(fh, request)
done = False
while done is False:
status, done = downloader.next_chunk()
print "Download %d%%." % int(status.progress() * 100)
return fh.getvalue()
И я получил этот ответ:
INFO 2019-01-02 08:32:04,585 discovery.py:871] URL being requested: GET https://www.googleapis.com/drive/v3/files/1MiXjaHXU3ktOrkVwdkAABuNM-HXhJGGF?alt=media
Download 100%.
Я открыл ссылку, ее содержание было таким:
{
"error": {
"errors": [
{
"domain": "usageLimits",
"reason": "dailyLimitExceededUnreg",
"message": "Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup.",
"extendedHelp": "https://code.google.com/apis/console"
}
],
"code": 403,
"message": "Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup."
}
}
Поэтому я запутался в том, что мой метод аутентификации правильный или нет.И я пробовал разные способы загрузки файлов с этого диска или экспорта файлов с этого диска на диск другого пользователя, у него тот же ответ.