1

市場データフィードの検索で、私はyahooファイナンスのYQLに導かれました。見た目は素晴らしく、パブリックユース/クエリには非常にシンプルですが、パブリックバージョンの1日あたりの制限は私のニーズには小さすぎます。yahooIDを取得してoauthを開始しましたが、良い例が見つかりません。私がやろうとしていることに関連して...

C#でデスクトップアプリを使用して「サインイン」し、目的のデータのダウンロードに進みます。宣誓ディメンションを使用するにはどうすればよいですか?参考までに私の経歴は、htmlアジリティパックを使用した単純な画面スクレイピングです。Webサービスの経験はありません。誰かが私を始めてもらえますか?私は現在立ち往生しています(そしてこれに一週間ずっといます)。前もって感謝します...

4

1 に答える 1

4

この場合、(ユーザーのプライベートデータではなく)パブリックデータにアクセスしているため、OAuthの2本足の認証を使用します。YDNサイトのこのページは、さまざまなデータタイプ(プライベートデータvパブリックデータ)の開始点として適しています。

二本足とは、(アプリケーションキーとシークレットを使用して)特定の方法でリクエストに署名する必要があることを意味しますが、ユーザー認証の手順はありません。OAuth署名は通常注意が必要なため、ほとんどの人はOAuthライブラリを使用します。

これを説明するYQLコード例ページに優れたウォークスルーがあります。[パブリックデータのクエリ]セクションまで下にスクロールして、署名された2本足のリクエストでYQLを呼び出す例を確認します。

<?php
include_once("yosdk/lib/Yahoo.inc");

define("API_KEY","your-api-key-here");
define("SHARED_SECRET","your-secret-here");
YahooLogger::setDebug(true);

$twoleg = new YahooApplication (API_KEY, SHARED_SECRET);
$query = "select * from yahoo.finance.historicaldata where symbol =\"YHOO\" and startDate = \"2011-12-01\" and endDate = \"2011-12-04\"";
$results = $twoleg->query ($query);
print_r ($results);

上記のコードを実行すると、次のような過去の株式データが得られます。

[quote] => Array
    (
        [0] => stdClass Object
            (
                [date] => 2011-12-02
                [Date] => 2011-12-02
                [Open] => 16.31
                [High] => 16.41
                [Low] => 16.03
                [Close] => 16.05
                [Volume] => 22714500
                [Adj_Close] => 16.05
            )

        [1] => stdClass Object
            (
                [date] => 2011-12-01
                [Date] => 2011-12-01
                [Open] => 16.42
                [High] => 16.46
                [Low] => 16.09
                [Close] => 16.23
                [Volume] => 47059800
                [Adj_Close] => 16.23
            )

    )

もちろん、あなたはC#について質問していますが、うまくいけば、これにより、何が必要になるかについてのより多くの背景が得られます。C#用の2本足のOAuthソリューションを検索します-この質問にはいくつかの実用的な答えがあるようです:DNOAを使用して2本足のOAuthを実装した人はいますか?

別の可能な解決策は、2本足のOAuth署名を行うWebサービスです。OAuth-これを修正します:YQL用の2本足のOAuthサービス

于 2012-01-20T21:00:16.717 に答える