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 に答える