2013-07-15 46 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