我已经在这个工作了几个小时,似乎没有快到任何地方!我已经找到了很多PHP的例子,但是对于ColdFusion都没有。据我所知,我应走在正确的轨道上,但我一直收到错误。
我的理解(当然,这可能是错误的)是我使用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>
每个变体都会让我返回以下错误;
“不支持您提供的授权类型。仅支持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以外的内容 - 我甚至找不到显示需要传递的标题名称的引用!
非常感谢指针!
答案 0 :(得分:1)
纯粹是因为沮丧,我现在有了这个工作。简而言之,如果您不进行Base64编码,则可以使用它,并添加用户名&amp; 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">