Имя: Пароль:
1C
1С v8
Получение списка файлов из GoogleDrive
0 Inkognito
 
05.01.15
17:36
По определенным обстоятельствам решено отказаться от хранения файлов на FTP, и перейти на GoogleDrive.

1) Было так:
НашеСоединение = Новый FTPСоединение(НашСайт, 21, НашЛогин, НашПароль, , );
СписокФайлов = НашеСоединение.НайтиФайлы("/НашПодкаталог","*.*");


2) Переделываем под GoogleDrive:
НашеСоединение = Новый HTTPСоединение("google.com", , , , Истина);


Но мне не нужно скачивать файлы. Нужно просто получить список, проанализировать его, и скачать только необходимый файл.
Вопрос: как получить список файлов, используя вместо FTP - HTTP соединение? HTTP соединение не имеет метода НайтиФайлы.
1 Турист
 
05.01.15
18:15
вроде гугл драйв можно было подключить как обычный диск или нет?
2 Inkognito
 
05.01.15
18:31
Обработкой будут пользоваться с разных ПК (расшаренный каталог позволяет). Настраивать на каждом компе нехорошо. Надо чтобы обработка умела сама находить нужные файлы, и если нужно - скачивать. FTP сейчас с задачей справляется. HTTP - нет (вернее, моих знаний недостаточно). Поэтому обратился за советом :)
3 Александр_
Тверь
 
05.01.15
18:45
https://developers.google.com/drive/v2/reference/

list     GET  /files     Lists the user's files.
4 Inkognito
 
05.01.15
18:55
СписокФайлов = НашеСоединение.list("https://drive.google.com/folderview?id=ЗдесьКучаЦифр=sharing";);
Сделал так, - 1Ска вообще вылетела.
5 Александр_
Тверь
 
05.01.15
19:03
(4) тебе надо основательно подучить теорию.
у HTTPСоединение никаких листов, поиска файлов и т.д. нет и быть не может.
6 Inkognito
 
05.01.15
19:08
Понимаю, но .. тогда непонятно, зачем создавать HTTP соединение. И как пользоваться этим внешним API.
7 Александр_
Тверь
 
05.01.15
19:10
(6) с помощью API ты понимаешь какой URL тебе нужно собрать, чтобы полученный ответ содержал интересующую тебя информацию.
8 Александр_
Тверь
 
05.01.15
19:11
сейчас поищу какой-нибудь пример
9 Александр_
Тверь
 
05.01.15
19:19
к сожалению у меня под рукой только через WinHttp есть, а не через HTTPСоединение.

Но суть,то простая.
С помощью знаний API собираешь нужный URL, вот у тебя он есть
https://drive.google.com/folderview?id=ЗдесьКучаЦифр=sharing

отправляешь запрос и получаешь ответ, который будет содержать нужную тебе информацию.

Как отправлять запросы и получать ответы, можешь посмотреть, например тут: v8: HTTPСоединение и POST авторизация
Единственное, не забывай, что ты работаешь через https
10 Александр_
Тверь
 
05.01.15
19:22
кстати, собранный урл можешь прямо браузеру скормить и посмотреть в каком виде тебе ответ придет.
например вот так вот:
https://www.googleapis.com/drive/v2/files
11 Александр_
Тверь
 
05.01.15
19:24
ответ вот такой будет:
{
"error": {
  "errors": [
   {
    "domain": "global",
    "reason": "required",
    "message": "Login Required",
    "locationType": "header",
    "location": "Authorization"
   }
  ],
  "code": 401,
  "message": "Login Required"
}
}

в данном случае это значит, что мы не авторизовались. если будешь авторизован, то ответ, естественно, будет другой.

Хотя мне кажется, что ты рассчитывал на что-то другое :)
12 Inkognito
 
06.01.15
16:55
Кошмар... придется возвращаться к FTP :(
13 Smallrat
 
06.01.15
16:58
да лан. я бы из принципа добил, интересно же.
14 Inkognito
 
06.01.15
17:01
Так и мне интересно. GoogleDrive - хорошая штука, удобная, современная. Теже каталоги что на FTP. Осталось научиться читать с них файлы. Так близко и так далеко. Всех с праздниками!
15 ДенисЧ
 
06.01.15
17:07
нет, чтобы клиента поставить... Так ведь нет... Будудут продолжать в лыжах и на гамаке...
16 Провинциальный 1сник
 
06.01.15
18:36
Надо Нуралиева агитировать, чтобы поддержку вебдава включил в платформу.. это более перспективно, чем ftp.
17 arsik
 
гуру
06.01.15
21:55
(16) В гуглДрайв вроде вебдав недоступен. Да и много где недоступен. В яндексе только доступен.
18 senior
 
07.01.15
01:13
(17) странно, я считал для облака вебдав это мастхэв
19 Провинциальный 1сник
 
07.01.15
08:42
(18) Это для пользователя так, а для сервис-провайдера наоборот. С вебдавом рекламу не покажешь..
20 oslokot
 
07.01.15
10:28
(0) Установить на комп клиента гуглдрайв. На нем же фтп-сервер в локалке.
21 Александр_
Тверь
 
07.01.15
11:15
(20) см (2)
22 whitedi
 
07.01.15
12:09
Там авторизация 2-х ступенчатая - oAuth, плюс ключ периодически обновлять нужно. Я реализовал у себя открытие файлов(doc, xls и т.п) сразу в окне 1С через GoogleDrive, а также получение списка файлов и т.п. Думаю на праздниках обработку на infostart выложу, ссылку здесь оставлю тогда)
23 Web00001
 
07.01.15
12:13
(0)Мне понравилась документация яндексдиска https://tech.yandex.ru/disk/poligon/#!//v1/disk/resources настолько все просто, и запросы можно пособирать в полигоне.
25 Inkognito
 
14.01.15
23:12
whitedi, получилось?
26 Inkognito
 
15.01.15
01:01
Web00001
Увы, я ничего не понял, как мне вместо моих трех строк получения с ФТП перейти на использование Яндекс диска.
27 Inkognito
 
15.01.15
02:00
Подойдет использование любого веб-сервиса. Неужели никто не сталкивался? Нужен нормальный работающий пример.
28 Web00001
 
15.01.15
03:19
(26)Что тебе непонятно? Недавно баловался, все очень хорошо работает.
29 Web00001
 
15.01.15
03:22
+(28)Там к сожалению чуть больше чем три строки.
А почему решили бросить ФТП? Мы вернулись туда, как раз по причине простоты. Взял селектел, бросил туда 100рублей, уже как два года работает без сбоев, еще 20рублей осталось, говорят еще на полгода хватит. Летали файлы по 120 мегабайт.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн