2014-09-16 10 views
1

Я зарегистрировался в Яндексе и получил ключ API для перевода. Однако, когда я пытаюсь перевести с помощью следующего кода:Ошибка API-интерфейса API-интерфейса API-интерфейса API-интерфейса 401

<CFSET Key = "trnsl.1.1.2014091..........................."> 
<CFSET lang="en-de"> 
<CFSET text="Hallo World"> 


<CFHTTP URL="https://translate.yandex.net/api/v1.5/tr.json/translate?Key=#Key#&lang=#lang#&text=#text#" METHOD = "GET"> 
</CFHTTP> 


<CFOUTPUT>#CFHTTP.FileContent#</CFOUTPUT> 

я получаю 401 ошибку «ключ API недействителен». Я также попытался с Javascript/CFML, но получил аналогичный результат. Я проверил ключ, и он является текущим.

У кого-нибудь что-то похожее работает?

+0

Почему это проголосовало? В отличие от некоторых первых должностей, 1) автор ясно объяснил проблему 2), какие шаги они предприняли, чтобы попытаться ее решить, и 3) включил рабочий процесс воспроизведения. Вряд ли достойный голос. – Leigh

ответ

3

?Key=#Key#&lang=#lang#&text=#text#

Это будет звучать немного странно, но .. Я думаю, что причина в том, что имена параметров URL чувствительны к регистру. Поскольку вы используете ?Key= вместо ?key (все в нижнем регистре), принимающая сторона думает, что вы не предоставили ключ API - вообще. Отсюда и ошибка. (Хотя «недостающий или недействительный ключ» будет немного более точным).

Попробуйте использовать ?key= (все в нижнем регистре), и он должен работать.

+0

Да, я изменил все на нижний регистр, и он работает !. Большое спасибо. – JRH