|
Rest API и яндекс диск | ☑ | ||
---|---|---|---|---|
0
assest
01.10.15
✎
11:05
|
Была поставлена задача, заливать фотографии на Яндекс диск(ЯД). Через WebDav возможно из 1с копировать и удалять файлы. Но не возможно создать папку. Впорос не могу найти как через Rest API подключиться к ЯД из 1С. В поддержке яндекса есть каманда на создание папки:
"https://cloud-api.yandex.net/v1/disk/resources/ ? path=<путь к создаваемой папке> [& fields=<нужные ключи ответа>]" Но как ее передать и как авторизоваться на ЯД не понятно |
|||
1
skafandr
01.10.15
✎
11:18
|
дык если в том же яндексе в поиске забить "1с яндекс диск" видно что в этой жизни всё уже было ;)
|
|||
2
assest
01.10.15
✎
11:21
|
(1) Что ты имеешь ввиду "Все уже было. В тех статьях описано как скопировать файл и как его удалить. Как создать папку я ищу 2 часа с результатом что это вроде как не возможно из 1С
|
|||
3
skafandr
01.10.15
✎
11:22
|
(2) Блин,моё сорри.Был неправ.Не проснулся ещё
|
|||
4
vhl
01.10.15
✎
11:23
|
(2) Так пробовал?
https://tech.yandex.ru/disk/api/reference/create-folder-docpage/ |
|||
5
assest
01.10.15
✎
11:25
|
(4) (0) В заголовке приведен этот код, и вопрос как из 1с авторизоваться и куда впихнуть этот код
|
|||
6
skafandr
01.10.15
✎
11:28
|
(5) Похоже авторизироваться как вот тут описано надо
https://tech.yandex.ru/disk/api/concepts/quickstart-docpage/ Доступ к API те зарегистрировать 1с https://oauth.yandex.ru/ |
|||
7
assest
01.10.15
✎
11:30
|
(6) Очень похоже, спасибо. Еще бы что писать в 1с понять и было бы прекрасно
|
|||
8
skafandr
01.10.15
✎
11:31
|
ну и тут что-то мутили
v8: API Яндекс Диск |
|||
9
koreav
01.10.15
✎
11:36
|
Если через api не взлетит, то есть программы, типа NetDrive, которые через WebDav могут примонтировать удаленную систему, как обычный сетевой диск Windows.
|
|||
10
magicSan
01.10.15
✎
12:34
|
(9) на икспи не взлетит. Не проще на компе запустить яндекс диск и рабоать с папкой???
|
|||
11
assest
01.10.15
✎
14:30
|
Получилось авторизоваться. Взял команду с яндекс полгона(/v1/disk/resources?path=qwe) возвращается год 413-слишком длинный запрос
Токен = "a5391095bce241e4b8888d99eac6ef4a"; Соединение = новый HTTPСоединение("cloud-api.yandex.net",443,,,,,Новый ЗащищенноеСоединениеOpenSSL); Заголовки = Новый Соответствие; Заголовки.Вставить("Content-Type","application/json; charset=utf-8"); Заголовки.Вставить("Authorization", "OAuth "+Токен); Запрос = Новый HTTPЗапрос("/v1/disk/resources?path=qwe"); Ответ = Соединение.Записать(Запрос);; Если Ответ.КодСостояния = 200 Тогда Джейсон = Новый ЧтениеJSON; Джейсон.УстановитьСтроку(Ответ.ПолучитьТелоКакСтроку()); Данные = ПрочитатьJSON(Джейсон); КонецЕсли; Токен я изменил |
|||
12
assest
01.10.15
✎
14:41
|
Такие варианты тоже возвращают ошибку
Ответ = Соединение.Записать(Запрос,Заголовки); Или Ответ = Соединение.Записать("https://cloud-api.yandex.net:443/v1/disk/resources?path=%2Fqwe",Заголовки); И работает только вариант Соединение.Получить(Запрос,Заголовки); Но Получить= Get, а мне нужно Записать=Put |
|||
13
assest
01.10.15
✎
17:25
|
Создание папки. Токен надо получить для своего приложения на сайте яндекса https://tech.yandex.ru/oauth/doc/dg/tasks/get-oauth-token-docpage/
------------------------------------------------------------ Токен = ""; Соединение = новый HTTPСоединение("webdav.yandex.ru",443,,,,,Новый ЗащищенноеСоединениеOpenSSL); Заголовки = Новый Соответствие; Заголовки.Вставить("Accept","*/*"); Заголовки.Вставить("Depth", 1); Заголовки.Вставить("Authorization", "OAuth "+Токен); Запрос = Новый HTTPЗапрос("",Заголовки); Команда = "MKCOL /Pictures/ HTTP/1.1"; Ответ = Соединение.ВызватьHTTPМетод( "MKCOL /Pictures/"+Имя+" HTTP/1.1", Запрос); Если Ответ.КодСостояния = 207 Тогда данные = Ответ.ПолучитьТелоКакСтроку(); КонецЕсли; |
|||
14
assest
01.10.15
✎
17:28
|
Получение фотографии или файла Desert.jpg, указан параметр превью XXXS, поэтому это будет иконка в 50 пикселей
------------------------------------------------------------ Токен = ""; Соединение = новый HTTPСоединение("webdav.yandex.ru",443,,,,,Новый ЗащищенноеСоединениеOpenSSL); Заголовки = Новый Соответствие; Заголовки.Вставить("Accept","*/*"); Заголовки.Вставить("Depth", 1); Заголовки.Вставить("Authorization", "OAuth "+Токен); Запрос = Новый HTTPЗапрос("",Заголовки); Ответ = Соединение.ВызватьHTTPМетод("GET /Desert.jpg?preview&size=XXXS HTTP/1.1", Запрос); Если Ответ.КодСостояния = 200 Тогда ЭлементыФормы.ПолеКартинки1.Картинка = Новый Картинка(Ответ.ПолучитьТелоКакДвоичныеДанные()); КонецЕсли; |
|||
15
assest
01.10.15
✎
17:28
|
Советую читать руководство разработчика от Яндекс диска
https://api.yandex.ru/disk/doc/dg/yandex-disk-dg.pdf |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |