1

我已经为此工作了几个小时,但似乎进展不快!我找到了很多关于 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 之外的内容 - 我什至找不到显示需要的标题名称的参考通过了!

指针将不胜感激!

4

1 回答 1

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"> 
于 2013-07-15T18:48:26.350 回答