Имя: Пароль:
1C
1С v8
У кого-нибудь есть опыт работы с API Яндекса через HTTPСоединение?
0 ilou
 
26.03.12
17:09
при попытке получить выдается ошибка: {"error": "invalid_client"}

аутентификация происходит по следующей схеме:

POST /token HTTP/1.1
Host: oauth.yandex.ru
Content-type: application/x-www-form-urlencoded
Content-Length: <length>

grant_type=password&username=<username>&password=<password>&client_id=<client_id>&client_secret=<client_secret>


1. Был зарегистрирован доступ к приложению:
Id приложения: 748abdd6029341a48bca8ffcf392d4cb
Пароль приложения: 124f468993e648e9baf89dcc9b0c5289
2. Тело сообщения:
grant_type=password&username=test2120&password=111111&client_id=748abdd6029341a48bca8ffcf392d4cb&client_secret=124f468993e648e9baf89dcc9b0c5289


Вот код, вроде бы простой, но где-то косяк....:

ИмяФайлаОтправки = ПолучитьИмяВременногоФайла();

ФайлОтправки = Новый ТекстовыйДокумент;
ФайлОтправки.УстановитьТипФайла(КодировкаТекста.Системная);
ФайлОтправки.ДобавитьСтроку("grant_type=password&username=test2120&password=111111&client_id=748abdd6029341a48bca8ffcf392d4cb&client_secret=124f468993e648e9baf89dcc9b0c5289");
ФайлОтправки.Записать(ИмяФайлаОтправки,КодировкаТекста.Системная);

Файл = Новый Файл(ИмяФайлаОтправки);
РазмерФайлаОтправки = XMLСтрока(Файл.Размер());

ЗаголовокHTTP = Новый Соответствие();
ЗаголовокHTTP.Вставить("POST /token HTTP/1.1");
ЗаголовокHTTP.Вставить("Host", "oauth.yandex.ru");
ЗаголовокHTTP.Вставить("Content-type", "application/x-www-form-urlencoded");
ЗаголовокHTTP.Вставить("Content-Length", РазмерФайлаОтправки);

HTTPСоединение.ОтправитьДляОбработки(ИмяФайлаОтправки, "/token", ФайлРезультата, ЗаголовокHTTP);


---
кто-нибудь что-то подобное делал, где я мог накосячить, ?
1 ilou
 
26.03.12
17:38
апну, может кто подскажет))
2 ilou
 
26.03.12
20:51
еще раз что ли апну, может вечером кто появился
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн