2013-07-15 49 views
1

我一直在为此工作几个小时,而且似乎没有快速获得任何位置!我发现了很多PHP示例,但是没有一个适用于ColdFusion。据我所知,我应该是在正确的轨道上,但我不断收到错误返回。在ColdFusion中使用Bing Web Search API

我的理解(当然,这可能是错误的)是我用cfhttp触发API并添加一个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> 

每个变化都给我以下错误返回;

“你提供的授权类型不支持的只有基本和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