2013-07-15 2 views
1

Я работаю над этим в течение нескольких часов и, похоже, никуда не гожу! Я нашел множество примеров для PHP, но для ColdFusion их вообще нет. Насколько мне известно, I должен быть на правильном пути, но я все время получаю сообщение об ошибке.Использование API веб-поиска Bing с ColdFusion

Мое понимание (что, конечно, может быть неверно) заключается в том, что я запускаю API с помощью cfhttp и добавляю cfhttpparam для авторизации. Тем не менее, я не совсем уверен, что имя заголовка должно быть - и я пробовал немало!

Вот что я имею прямо сейчас;

<cfset acctkey = ToBase64("MYACCOUNTKEY")> 

<cfhttp url="https://api.datamarket.azure.com/Bing/SearchWeb/v1/Web?Query=%27MY_QUERY%27&Market=%27en-GB%27" method="get" resolveurl="yes"> 
<cfhttpparam type="header" name="Authorization: Basic " value="#acctkey#"> 
</cfhttp> 

Каждая вариация дает мне следующую ошибку:

«Тип авторизации вы предоставили не поддерживается только Basic и OAuth поддерживается.»

Я также попытался следующий, с той же ошибкой;

<cfhttp url="https://user:#acctkey#@api.datamarket.azure.com/Bing/SearchWeb/v1/Web?Query=%27#url.q#%27&Market=%27en-GB%27" method="get"> 

Онлайновые документы (https://datamarket.azure.com/dataset/bing/searchweb) на самом деле, кажется, не покрывает это вне PHP и ASP - я даже не могу найти ссылку, показывающий имена заголовков, которые должны быть переданы!

Указатели были бы очень признательны!

ответ

1

Чисто из-за разочарования, у меня теперь есть эта работа. В двух словах, он работает, если вы НЕ кодируете Base64, и вы добавляете имя пользователя & пароль к тегу cfhttp, например;

<cfhttp url="https://api.datamarket.azure.com/Bing/SearchWeb/v1/Web?Query=%27MY_QUERY%27&Market=%27en-GB%27" method="get" username="MyACCOUNTKEY" password="MyACCOUNTKEY"> 
+0

Ах! Я как раз собирался спросить о toBase64. Рад, что вы это решили, и спасибо за сообщение ответа! – Leigh