2

Google Search API は廃止されたため、Ruby アプリで Bing Search API (現在は Windows Azure API) を使用したいと考えています。

ただし、Azure には、クエリ URI を作成してブラウザーに貼り付け、標準の HTTP 認証ボックスのパスワード ボックスにキーを渡し、POST を実行して結果を確認するという奇妙な認証パターンがあります。これにより署名が生成され、何らかの方法でヘッダーに渡されると思います。Ruby ですべてのプロセスを実行し、可能であればブラウザの部分をスキップしたいと考えています。

わかりにくい Windows Azure ストレージ gemのソースで1 つの例を見つけましたが、どのように署名を作成して呼び出しを行っているのかわかりません。Rubyで基本的なHTTP認証を行う簡単な方法はありますか?

4

4 に答える 4

2

私は先に進み、ファラデーの組み込みの基本認証方式を次のように使用しました。

connection = Faraday.new "http://api.something.com/1/dudez"
connection.basic_auth "username" "password"
connection.get
于 2012-05-24T14:07:44.683 に答える
1

これにはRestClientgemをお勧めします。ドメイン間でのGETとPOSTに大成功を収めました。APIを実装するために本当にブラウザのように動作する必要がある場合は、いつでもCapybaraを使用できます。

申し訳ありませんが、Azure APIを自分で試したことがないか、例を挙げます。:)

于 2012-05-22T11:53:48.200 に答える
1

以前に別の Azure API でこれを行ったことを思い出しましたが、コードが見つかりません。

署名プロセスの詳細については、こちらをご覧ください。

http://msdn.microsoft.com/en-us/library/windowsazure/ee395415.aspx

Azure API が SharedSignature メソッドを使用しているかどうかをすぐに確認できない

于 2012-05-22T12:00:41.633 に答える
0

RESTAPIを介してWindowsAzureBLOBストレージへの要求に署名する方法については、http://msdn.microsoft.com/en-us/library/dd179428.aspxで説明されています。

基本的に、HTTPヘッダーにいくつかの資格情報を追加するだけで認証するのではなく、ストレージアカウントに関連付けられている秘密鍵を使用してリクエストに署名する必要があります。

于 2012-10-16T20:20:11.903 に答える