2017-02-10 7 views
0

私はYahoo金融の残りのAPIからデータを取得する必要がありますいくつかのアプリケーションで動作しています。これは時々細かい作業が、多くの場合、これはエラーを投げているAngular2 jsonフォームを取得する方法Yahoo Finance残りのAPI

export class AppComponent implements OnInit{ 

    act =[]; 

    ngOnInit(){ 

    this.actService 
     .getAct() 
     .subscribe(
     act => this.act = act, 
     err => console.error(err) 
    ); 

    } 

    constructor(private actService: ActService){} 
} 

:記号「GOOG」のために例えば私がactServiceを使用するアプリケーションのコンポーネントのテーブル

export class ActService{ 

act = []; 
    url = 'http://query.yahooapis.com/v1/public/yql?format=json&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=&q=select%20*%20from%20yahoo.finance.quotes%20where%20symbol=%22goog%22'; 
    private headers = new Headers({'Content-Type': 'application/json'}); 

    constructor(private http : Http){ 
    this.getAct(); 
    } 

    getAct() { 
    console.log("update"); 

    return Observable 
     .interval(1000) 
     .flatMap(() => { 
     return this.http.get(this.url) 
      .map(res => res.json()); 
     }); 
    } 
} 

コードを取得するには、このコードを書いています。

"No definition found for Table yahoo.finance.quotes" 

問題は、私がアプリケーションを起動している間、ランダムな瞬間にこのエラーが発生していることです。 Specialyは、日付が:任意の時、任意の分、00秒です。私は15:34:59時にはいいが、15時35分にはエラーがある。 enter image description here どうすれば解決できますか?それは私のせいですか?私は私のサービスと私の "get"に悪いことは何も見ません。

私はこのエラーについて最後の問題をスタックで読みましたが、私には同様の解決策はありませんでした。

+0

@ValLeNainそこから:err => console.error(err) –

答えて

0

私はこの問題も発見し、yahooデベロッパーサイトのYQLコンソールからYQLクエリを更新して修正します。

ここでyahoo yql console https://developer.yahoo.com/yql/console/(「コミュニティテーブルを表示する」オプションをチェックするのを忘れないでください)のクエリを試すことができます。

https://developer.yahoo.com/yql/console/?q=select% 20from%20yahoo.finance.quotes%20where%20symbol%20IN%20(%22AAPL%22)& ENV =ストア:このような例//datatables.org/alltableswithkeys#h=select+ + from + yahoo.finance.quotes + where + symbol + in +(%22AAPL%22)

YQLコンソールは、あなたのアプリで使用できるRESTクエリを提供します。それをコピーして現在のクエリを置き換えます。

+0

ここからこの休憩がありますが、それでも404を捨てることがあります - 休憩の頻度が最も良いかどうかテストしましたか? –

+0

YQLコンソールでもう一度実行しようとしましたか?私は古いクエリとは異なる結果を得て、新しいクエリはうまく動くからです。 –

+0

はい、私はこれをテストしました –

関連する問題