Клуб API Диска

1C и Яндекс.Диск

11 сентября 2015, 13:57

Друзья, помогите, есть вопрос:

Получаю токен:
 Адрес1 = "https://oauth.yandex.ru/authorize?response_type=token&client_id=id_моего_приложения";

Выполнение адреса возвращает токен. Здесь всё хорошо.

А вот далее хочу допустим получить список всех файлов на моем диске, здесь проблема, пишет что я не авторизован:


    Адрес =
    "PROPFIND / HTTP/1.1
    |Host: webdav.yandex.ru
    |Accept: */*
    |Depth: 1
    |Authorization: OAuth "+ access_token;
   
    Соединение = Новый HTTPСоединение("webdav.yandex.ru", "443",,,, Истина); 
    HTTPЗапрос = Новый HTTPЗапрос(Адрес);
    HTTPОтвет = Соединение.ОтправитьДляОбработки(HTTPЗапрос);
    СтраничкаПлейера = HTTPОтвет.ПолучитьТелоКакСтроку( ) ;

 

 

Кто подскажет как авторизоваться?

6 комментариев
Подписаться на комментарии к посту

Попробуйте так:

 

Соединение = Новый HTTPСоединение("webdav.yandex.ru",443,,,,,Новый ЗащищенноеСоединениеOpenSSL);
...

так тоже пробывал, результат тот же

Для webdav накидаю код попозже для rest код такой:

Токен = "Получи токен на полигоне";
 Соединение = новый HTTPСоединение("cloud-api.yandex.net",443,,,,,Новый ЗащищенноеСоединениеOpenSSL);
 Заголовки = Новый Соответствие;
 Заголовки.Вставить("Content-Type","application/json; charset=utf-8");
 Заголовки.Вставить("Authorization", "OAuth "+Токен);

 Запрос = Новый HTTPЗапрос("/v1/disk/resources/files",Заголовки);
 
 Ответ = Соединение.Получить(Запрос);
 Если Ответ.КодСостояния = 200 Тогда
  Джейсон = Новый ЧтениеJSON;
  Джейсон.УстановитьСтроку(Ответ.ПолучитьТелоКакСтроку());
  Данные = ПрочитатьJSON(Джейсон);
 КонецЕсли; 

 Токен = "Получи токен";
 Соединение = новый HTTPСоединение("webdav.yandex.ru",443,,,,,Новый ЗащищенноеСоединениеOpenSSL);
 Заголовки = Новый Соответствие;
 Заголовки.Вставить("Accept","*/*");
 Заголовки.Вставить("Depth", 1);
 Заголовки.Вставить("Authorization", "OAuth "+Токен);
 Запрос = Новый HTTPЗапрос("",Заголовки);
 Ответ = Соединение.ВызватьHTTPМетод("PROPFIND / HTTP/1.1", Запрос);
 Если Ответ.КодСостояния = 207 Тогда
  данные  = Ответ.ПолучитьТелоКакСтроку()) 
КонецЕсли;

Сейчас попробую, спасибо

Супер, все работает, спасибо!

 

Осталось только распарсить)